mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-27 08:29:33 -05:00
bd63aa3c6b
sed -i '1i/*\nCopyright (c) Edgeless Systems GmbH\n\nSPDX-License-Identifier: AGPL-3.0-only\n*/\n' `grep -rL --include='*.go' 'DO NOT EDIT'` gofumpt -w .
276 lines
9.9 KiB
Go
276 lines
9.9 KiB
Go
/*
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
package client
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
|
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
|
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
|
|
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/applicationinsights/armapplicationinsights"
|
|
armcomputev2 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v2"
|
|
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork"
|
|
)
|
|
|
|
type stubNetworksAPI struct {
|
|
createErr error
|
|
pollErr error
|
|
}
|
|
|
|
func (a stubNetworksAPI) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string,
|
|
virtualNetworkName string, parameters armnetwork.VirtualNetwork,
|
|
options *armnetwork.VirtualNetworksClientBeginCreateOrUpdateOptions) (
|
|
*runtime.Poller[armnetwork.VirtualNetworksClientCreateOrUpdateResponse], error,
|
|
) {
|
|
poller, err := runtime.NewPoller(nil, runtime.NewPipeline("", "", runtime.PipelineOptions{}, nil), &runtime.NewPollerOptions[armnetwork.VirtualNetworksClientCreateOrUpdateResponse]{
|
|
Handler: &stubPoller[armnetwork.VirtualNetworksClientCreateOrUpdateResponse]{
|
|
result: armnetwork.VirtualNetworksClientCreateOrUpdateResponse{
|
|
VirtualNetwork: armnetwork.VirtualNetwork{
|
|
Properties: &armnetwork.VirtualNetworkPropertiesFormat{
|
|
Subnets: []*armnetwork.Subnet{
|
|
{
|
|
ID: to.Ptr("subnet-id"),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
resultErr: a.pollErr,
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return poller, a.createErr
|
|
}
|
|
|
|
type stubLoadBalancersAPI struct {
|
|
createErr error
|
|
stubResponse armnetwork.LoadBalancersClientCreateOrUpdateResponse
|
|
pollErr error
|
|
}
|
|
|
|
func (a stubLoadBalancersAPI) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string,
|
|
loadBalancerName string, parameters armnetwork.LoadBalancer,
|
|
options *armnetwork.LoadBalancersClientBeginCreateOrUpdateOptions) (
|
|
*runtime.Poller[armnetwork.LoadBalancersClientCreateOrUpdateResponse], error,
|
|
) {
|
|
poller, err := runtime.NewPoller(nil, runtime.NewPipeline("", "", runtime.PipelineOptions{}, nil), &runtime.NewPollerOptions[armnetwork.LoadBalancersClientCreateOrUpdateResponse]{
|
|
Handler: &stubPoller[armnetwork.LoadBalancersClientCreateOrUpdateResponse]{
|
|
result: a.stubResponse,
|
|
resultErr: a.pollErr,
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return poller, a.createErr
|
|
}
|
|
|
|
type stubNetworkSecurityGroupsAPI struct {
|
|
createErr error
|
|
pollErr error
|
|
}
|
|
|
|
func (a stubNetworkSecurityGroupsAPI) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string,
|
|
networkSecurityGroupName string, parameters armnetwork.SecurityGroup,
|
|
options *armnetwork.SecurityGroupsClientBeginCreateOrUpdateOptions) (
|
|
*runtime.Poller[armnetwork.SecurityGroupsClientCreateOrUpdateResponse], error,
|
|
) {
|
|
poller, err := runtime.NewPoller(nil, runtime.NewPipeline("", "", runtime.PipelineOptions{}, nil), &runtime.NewPollerOptions[armnetwork.SecurityGroupsClientCreateOrUpdateResponse]{
|
|
Handler: &stubPoller[armnetwork.SecurityGroupsClientCreateOrUpdateResponse]{
|
|
result: armnetwork.SecurityGroupsClientCreateOrUpdateResponse{
|
|
SecurityGroup: armnetwork.SecurityGroup{ID: to.Ptr("network-security-group-id")},
|
|
},
|
|
resultErr: a.pollErr,
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return poller, a.createErr
|
|
}
|
|
|
|
type stubScaleSetsAPI struct {
|
|
createErr error
|
|
stubResponse armcomputev2.VirtualMachineScaleSetsClientCreateOrUpdateResponse
|
|
pollErr error
|
|
getResponse armcomputev2.VirtualMachineScaleSet
|
|
getErr error
|
|
}
|
|
|
|
func (a stubScaleSetsAPI) Get(ctx context.Context, resourceGroupName string, vmScaleSetName string,
|
|
options *armcomputev2.VirtualMachineScaleSetsClientGetOptions,
|
|
) (armcomputev2.VirtualMachineScaleSetsClientGetResponse, error) {
|
|
return armcomputev2.VirtualMachineScaleSetsClientGetResponse{
|
|
VirtualMachineScaleSet: a.getResponse,
|
|
}, a.getErr
|
|
}
|
|
|
|
func (a stubScaleSetsAPI) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string,
|
|
vmScaleSetName string, parameters armcomputev2.VirtualMachineScaleSet,
|
|
options *armcomputev2.VirtualMachineScaleSetsClientBeginCreateOrUpdateOptions) (
|
|
*runtime.Poller[armcomputev2.VirtualMachineScaleSetsClientCreateOrUpdateResponse], error,
|
|
) {
|
|
poller, err := runtime.NewPoller(nil, runtime.NewPipeline("", "", runtime.PipelineOptions{}, nil), &runtime.NewPollerOptions[armcomputev2.VirtualMachineScaleSetsClientCreateOrUpdateResponse]{
|
|
Handler: &stubPoller[armcomputev2.VirtualMachineScaleSetsClientCreateOrUpdateResponse]{
|
|
result: a.stubResponse,
|
|
resultErr: a.pollErr,
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return poller, a.createErr
|
|
}
|
|
|
|
type stubPublicIPAddressesAPI struct {
|
|
createErr error
|
|
getErr error
|
|
pollErr error
|
|
}
|
|
|
|
type stubPublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesPager struct {
|
|
pages int
|
|
fetchErr error
|
|
more bool
|
|
}
|
|
|
|
func (p *stubPublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesPager) moreFunc() func(
|
|
armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse) bool {
|
|
return func(armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse) bool {
|
|
return p.more
|
|
}
|
|
}
|
|
|
|
func (p *stubPublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesPager) fetcherFunc() func(
|
|
context.Context, *armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse) (
|
|
armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse, error) {
|
|
return func(context.Context, *armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse) (
|
|
armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse, error,
|
|
) {
|
|
page := make([]*armnetwork.PublicIPAddress, p.pages)
|
|
for i := 0; i < p.pages; i++ {
|
|
page[i] = &armnetwork.PublicIPAddress{
|
|
Properties: &armnetwork.PublicIPAddressPropertiesFormat{
|
|
IPAddress: to.Ptr("192.0.2.1"),
|
|
},
|
|
}
|
|
}
|
|
return armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse{
|
|
PublicIPAddressListResult: armnetwork.PublicIPAddressListResult{
|
|
Value: page,
|
|
},
|
|
}, p.fetchErr
|
|
}
|
|
}
|
|
|
|
func (a stubPublicIPAddressesAPI) NewListVirtualMachineScaleSetVMPublicIPAddressesPager(
|
|
resourceGroupName string, virtualMachineScaleSetName string,
|
|
virtualmachineIndex string, networkInterfaceName string,
|
|
ipConfigurationName string,
|
|
options *armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesOptions,
|
|
) *runtime.Pager[armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse] {
|
|
pager := &stubPublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesPager{
|
|
pages: 1,
|
|
}
|
|
return runtime.NewPager(runtime.PagingHandler[armnetwork.PublicIPAddressesClientListVirtualMachineScaleSetVMPublicIPAddressesResponse]{
|
|
More: pager.moreFunc(),
|
|
Fetcher: pager.fetcherFunc(),
|
|
})
|
|
}
|
|
|
|
func (a stubPublicIPAddressesAPI) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPAddressName string,
|
|
parameters armnetwork.PublicIPAddress, options *armnetwork.PublicIPAddressesClientBeginCreateOrUpdateOptions) (
|
|
*runtime.Poller[armnetwork.PublicIPAddressesClientCreateOrUpdateResponse], error,
|
|
) {
|
|
poller, err := runtime.NewPoller(nil, runtime.NewPipeline("", "", runtime.PipelineOptions{}, nil), &runtime.NewPollerOptions[armnetwork.PublicIPAddressesClientCreateOrUpdateResponse]{
|
|
Handler: &stubPoller[armnetwork.PublicIPAddressesClientCreateOrUpdateResponse]{
|
|
result: armnetwork.PublicIPAddressesClientCreateOrUpdateResponse{
|
|
PublicIPAddress: armnetwork.PublicIPAddress{
|
|
ID: to.Ptr("ip-address-id"),
|
|
Properties: &armnetwork.PublicIPAddressPropertiesFormat{
|
|
IPAddress: to.Ptr("192.0.2.1"),
|
|
},
|
|
},
|
|
},
|
|
resultErr: a.pollErr,
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return poller, a.createErr
|
|
}
|
|
|
|
func (a stubPublicIPAddressesAPI) Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, options *armnetwork.PublicIPAddressesClientGetOptions) (
|
|
armnetwork.PublicIPAddressesClientGetResponse, error,
|
|
) {
|
|
return armnetwork.PublicIPAddressesClientGetResponse{
|
|
PublicIPAddress: armnetwork.PublicIPAddress{
|
|
Properties: &armnetwork.PublicIPAddressPropertiesFormat{
|
|
IPAddress: to.Ptr("192.0.2.1"),
|
|
},
|
|
},
|
|
}, a.getErr
|
|
}
|
|
|
|
type stubNetworkInterfacesAPI struct {
|
|
getErr error
|
|
}
|
|
|
|
func (a stubNetworkInterfacesAPI) GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string,
|
|
virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string,
|
|
options *armnetwork.InterfacesClientGetVirtualMachineScaleSetNetworkInterfaceOptions,
|
|
) (armnetwork.InterfacesClientGetVirtualMachineScaleSetNetworkInterfaceResponse, error) {
|
|
if a.getErr != nil {
|
|
return armnetwork.InterfacesClientGetVirtualMachineScaleSetNetworkInterfaceResponse{}, a.getErr
|
|
}
|
|
return armnetwork.InterfacesClientGetVirtualMachineScaleSetNetworkInterfaceResponse{
|
|
Interface: armnetwork.Interface{
|
|
Properties: &armnetwork.InterfacePropertiesFormat{
|
|
IPConfigurations: []*armnetwork.InterfaceIPConfiguration{
|
|
{
|
|
Properties: &armnetwork.InterfaceIPConfigurationPropertiesFormat{
|
|
PrivateIPAddress: to.Ptr("192.0.2.1"),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
type stubApplicationInsightsAPI struct {
|
|
err error
|
|
}
|
|
|
|
func (a *stubApplicationInsightsAPI) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, insightProperties armapplicationinsights.Component, options *armapplicationinsights.ComponentsClientCreateOrUpdateOptions) (armapplicationinsights.ComponentsClientCreateOrUpdateResponse, error) {
|
|
resp := armapplicationinsights.ComponentsClientCreateOrUpdateResponse{}
|
|
return resp, a.err
|
|
}
|
|
|
|
type stubPoller[T any] struct {
|
|
result T
|
|
pollErr error
|
|
resultErr error
|
|
}
|
|
|
|
func (p *stubPoller[T]) Done() bool {
|
|
return true
|
|
}
|
|
|
|
func (p *stubPoller[T]) Poll(context.Context) (*http.Response, error) {
|
|
return nil, p.pollErr
|
|
}
|
|
|
|
func (p *stubPoller[T]) Result(ctx context.Context, out *T) error {
|
|
*out = p.result
|
|
return p.resultErr
|
|
}
|