/* Copyright (c) Edgeless Systems GmbH SPDX-License-Identifier: AGPL-3.0-only */ package openstack import ( "context" "github.com/edgelesssys/constellation/v2/internal/role" "github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers" "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/networks" "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/subnets" "github.com/gophercloud/gophercloud/v2/pagination" ) type imdsAPI interface { providerID(ctx context.Context) (string, error) name(ctx context.Context) (string, error) projectID(ctx context.Context) (string, error) uid(ctx context.Context) (string, error) initSecretHash(ctx context.Context) (string, error) role(ctx context.Context) (role.Role, error) vpcIP(ctx context.Context) (string, error) loadBalancerEndpoint(ctx context.Context) (string, error) } type serversAPI interface { ListServers(opts servers.ListOptsBuilder) pagerAPI ListNetworks(opts networks.ListOptsBuilder) pagerAPI ListSubnets(opts subnets.ListOpts) pagerAPI } type pagerAPI interface { AllPages(context.Context) (pagination.Page, error) }