diff --git a/sdk/resourcemanager/batch/armbatch/assets.json b/sdk/resourcemanager/batch/armbatch/assets.json new file mode 100644 index 000000000000..b5ef8a54ff1e --- /dev/null +++ b/sdk/resourcemanager/batch/armbatch/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo": "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath": "go", + "TagPrefix": "go/resourcemanager/batch/armbatch", + "Tag": "go/resourcemanager/batch/armbatch_66d4b27392" +} diff --git a/sdk/resourcemanager/batch/armbatch/batchmanagement_live_test.go b/sdk/resourcemanager/batch/armbatch/batchmanagement_live_test.go new file mode 100644 index 000000000000..555625247491 --- /dev/null +++ b/sdk/resourcemanager/batch/armbatch/batchmanagement_live_test.go @@ -0,0 +1,675 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +package armbatch_test + +import ( + "context" + "fmt" + "testing" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/internal/recording" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/testutil" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" + "github.com/stretchr/testify/suite" +) + +type BatchManagementTestSuite struct { + suite.Suite + + ctx context.Context + cred azcore.TokenCredential + options *arm.ClientOptions + accountName string + applicationName string + batchAccountId string + poolName string + storageAccountId string + storageAccountName string + versionName string + location string + resourceGroupName string + subscriptionId string +} + +func (testsuite *BatchManagementTestSuite) SetupSuite() { + testutil.StartRecording(testsuite.T(), "sdk/resourcemanager/batch/armbatch/testdata") + + testsuite.ctx = context.Background() + testsuite.cred, testsuite.options = testutil.GetCredAndClientOptions(testsuite.T()) + testsuite.accountName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "accountn", 14, true) + testsuite.applicationName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "applicat", 14, false) + testsuite.poolName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "poolname", 14, false) + testsuite.storageAccountName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "storagea", 14, true) + testsuite.versionName, _ = recording.GenerateAlphaNumericID(testsuite.T(), "versionn", 14, false) + testsuite.location = testutil.GetEnv("LOCATION", "westus") + testsuite.resourceGroupName = testutil.GetEnv("RESOURCE_GROUP_NAME", "scenarioTestTempGroup") + testsuite.subscriptionId = testutil.GetEnv("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + resourceGroup, _, err := testutil.CreateResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.location) + testsuite.Require().NoError(err) + testsuite.resourceGroupName = *resourceGroup.Name + testsuite.Prepare() +} + +func (testsuite *BatchManagementTestSuite) TearDownSuite() { + testsuite.Cleanup() + _, err := testutil.DeleteResourceGroup(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName) + testsuite.Require().NoError(err) + testutil.StopRecording(testsuite.T()) +} + +func TestBatchManagementTestSuite(t *testing.T) { + suite.Run(t, new(BatchManagementTestSuite)) +} + +func (testsuite *BatchManagementTestSuite) Prepare() { + var err error + // From step Create_StorageAccount + template := map[string]any{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "outputs": map[string]any{ + "storageAccountId": map[string]any{ + "type": "string", + "value": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]", + }, + }, + "parameters": map[string]any{ + "location": map[string]any{ + "type": "string", + "defaultValue": testsuite.location, + }, + "storageAccountName": map[string]any{ + "type": "string", + "defaultValue": testsuite.storageAccountName, + }, + }, + "resources": []any{ + map[string]any{ + "name": "[parameters('storageAccountName')]", + "type": "Microsoft.Storage/storageAccounts", + "apiVersion": "2022-05-01", + "kind": "StorageV2", + "location": "[parameters('location')]", + "properties": map[string]any{ + "accessTier": "Hot", + "allowBlobPublicAccess": true, + "allowCrossTenantReplication": true, + "allowSharedKeyAccess": true, + "defaultToOAuthAuthentication": false, + "dnsEndpointType": "Standard", + "encryption": map[string]any{ + "keySource": "Microsoft.Storage", + "requireInfrastructureEncryption": false, + "services": map[string]any{ + "blob": map[string]any{ + "enabled": true, + "keyType": "Account", + }, + "file": map[string]any{ + "enabled": true, + "keyType": "Account", + }, + }, + }, + "minimumTlsVersion": "TLS1_2", + "networkAcls": map[string]any{ + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": []any{}, + "virtualNetworkRules": []any{}, + }, + "publicNetworkAccess": "Enabled", + "supportsHttpsTrafficOnly": true, + }, + "sku": map[string]any{ + "name": "Standard_RAGRS", + "tier": "Standard", + }, + }, + }, + "variables": map[string]any{}, + } + deployment := armresources.Deployment{ + Properties: &armresources.DeploymentProperties{ + Template: template, + Mode: to.Ptr(armresources.DeploymentModeIncremental), + }, + } + deploymentExtend, err := testutil.CreateDeployment(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName, "Create_StorageAccount", &deployment) + testsuite.Require().NoError(err) + testsuite.storageAccountId = deploymentExtend.Properties.Outputs.(map[string]interface{})["storageAccountId"].(map[string]interface{})["value"].(string) + + // From step BatchAccount_Create + fmt.Println("Call operation: BatchAccount_Create") + accountClient, err := armbatch.NewAccountClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + accountClientCreateResponsePoller, err := accountClient.BeginCreate(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, armbatch.AccountCreateParameters{ + Location: to.Ptr(testsuite.location), + Properties: &armbatch.AccountCreateProperties{ + AutoStorage: &armbatch.AutoStorageBaseProperties{ + StorageAccountID: to.Ptr(testsuite.storageAccountId), + }, + }, + }, nil) + testsuite.Require().NoError(err) + var accountClientCreateResponse *armbatch.AccountClientCreateResponse + accountClientCreateResponse, err = testutil.PollForTest(testsuite.ctx, accountClientCreateResponsePoller) + testsuite.Require().NoError(err) + testsuite.batchAccountId = *accountClientCreateResponse.ID + + // From step Application_Create + fmt.Println("Call operation: Application_Create") + applicationClient, err := armbatch.NewApplicationClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = applicationClient.Create(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, &armbatch.ApplicationClientCreateOptions{ + Parameters: &armbatch.Application{ + Properties: &armbatch.ApplicationProperties{ + AllowUpdates: to.Ptr(false), + DisplayName: to.Ptr("myAppName"), + }, + }, + }) + testsuite.Require().NoError(err) +} + +// Microsoft.Batch/locations/{locationName} +func (testsuite *BatchManagementTestSuite) TestLocation() { + locationName := "westus" + var err error + // From step Location_CheckNameAvailability + fmt.Println("Call operation: Location_CheckNameAvailability") + locationClient, err := armbatch.NewLocationClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = locationClient.CheckNameAvailability(testsuite.ctx, locationName, armbatch.CheckNameAvailabilityParameters{ + Name: to.Ptr("newaccountname"), + Type: to.Ptr("Microsoft.Batch/batchAccounts"), + }, nil) + testsuite.Require().NoError(err) + + // From step Location_ListSupportedCloudServiceSkus + fmt.Println("Call operation: Location_ListSupportedCloudServiceSkus") + locationClientNewListSupportedCloudServiceSKUsPager := locationClient.NewListSupportedCloudServiceSKUsPager(locationName, &armbatch.LocationClientListSupportedCloudServiceSKUsOptions{Maxresults: nil, + Filter: nil, + }) + for locationClientNewListSupportedCloudServiceSKUsPager.More() { + _, err := locationClientNewListSupportedCloudServiceSKUsPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Location_GetQuotas + fmt.Println("Call operation: Location_GetQuotas") + _, err = locationClient.GetQuotas(testsuite.ctx, locationName, nil) + testsuite.Require().NoError(err) + + // From step Location_ListSupportedVirtualMachineSkus + fmt.Println("Call operation: Location_ListSupportedVirtualMachineSkus") + locationClientNewListSupportedVirtualMachineSKUsPager := locationClient.NewListSupportedVirtualMachineSKUsPager(locationName, &armbatch.LocationClientListSupportedVirtualMachineSKUsOptions{Maxresults: nil, + Filter: nil, + }) + for locationClientNewListSupportedVirtualMachineSKUsPager.More() { + _, err := locationClientNewListSupportedVirtualMachineSKUsPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } +} + +// Microsoft.Batch/batchAccounts/{accountName} +func (testsuite *BatchManagementTestSuite) TestBatchAccount() { + var err error + // From step BatchAccount_List + fmt.Println("Call operation: BatchAccount_List") + accountClient, err := armbatch.NewAccountClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + accountClientNewListPager := accountClient.NewListPager(nil) + for accountClientNewListPager.More() { + _, err := accountClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step BatchAccount_Get + fmt.Println("Call operation: BatchAccount_Get") + _, err = accountClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_ListByResourceGroup + fmt.Println("Call operation: BatchAccount_ListByResourceGroup") + accountClientNewListByResourceGroupPager := accountClient.NewListByResourceGroupPager(testsuite.resourceGroupName, nil) + for accountClientNewListByResourceGroupPager.More() { + _, err := accountClientNewListByResourceGroupPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step BatchAccount_ListOutboundNetworkDependenciesEndpoints + fmt.Println("Call operation: BatchAccount_ListOutboundNetworkDependenciesEndpoints") + accountClientNewListOutboundNetworkDependenciesEndpointsPager := accountClient.NewListOutboundNetworkDependenciesEndpointsPager(testsuite.resourceGroupName, testsuite.accountName, nil) + for accountClientNewListOutboundNetworkDependenciesEndpointsPager.More() { + _, err := accountClientNewListOutboundNetworkDependenciesEndpointsPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step BatchAccount_ListDetectors + fmt.Println("Call operation: BatchAccount_ListDetectors") + accountClientNewListDetectorsPager := accountClient.NewListDetectorsPager(testsuite.resourceGroupName, testsuite.accountName, nil) + for accountClientNewListDetectorsPager.More() { + _, err := accountClientNewListDetectorsPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step BatchAccount_GetDetector + fmt.Println("Call operation: BatchAccount_GetDetector") + _, err = accountClient.GetDetector(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, "poolsAndNodes", nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_Update + fmt.Println("Call operation: BatchAccount_Update") + _, err = accountClient.Update(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, armbatch.AccountUpdateParameters{ + Tags: map[string]*string{ + "key1": to.Ptr("value1"), + }, + }, nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_SynchronizeAutoStorageKeys + fmt.Println("Call operation: BatchAccount_SynchronizeAutoStorageKeys") + _, err = accountClient.SynchronizeAutoStorageKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_RegenerateKey + fmt.Println("Call operation: BatchAccount_RegenerateKey") + _, err = accountClient.RegenerateKey(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, armbatch.AccountRegenerateKeyParameters{ + KeyName: to.Ptr(armbatch.AccountKeyTypePrimary), + }, nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_GetKeys + fmt.Println("Call operation: BatchAccount_GetKeys") + _, err = accountClient.GetKeys(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName} +func (testsuite *BatchManagementTestSuite) TestPool() { + var err error + // From step Pool_Create + fmt.Println("Call operation: Pool_Create") + poolClient, err := armbatch.NewPoolClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = poolClient.Create(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, armbatch.Pool{ + Properties: &armbatch.PoolProperties{ + DeploymentConfiguration: &armbatch.DeploymentConfiguration{ + CloudServiceConfiguration: &armbatch.CloudServiceConfiguration{ + OSFamily: to.Ptr("5"), + }, + }, + ScaleSettings: &armbatch.ScaleSettings{ + FixedScale: &armbatch.FixedScaleSettings{ + TargetDedicatedNodes: to.Ptr[int32](3), + }, + }, + VMSize: to.Ptr("STANDARD_D4"), + }, + }, &armbatch.PoolClientCreateOptions{IfMatch: nil, + IfNoneMatch: nil, + }) + testsuite.Require().NoError(err) + + // From step Pool_ListByBatchAccount + fmt.Println("Call operation: Pool_ListByBatchAccount") + poolClientNewListByBatchAccountPager := poolClient.NewListByBatchAccountPager(testsuite.resourceGroupName, testsuite.accountName, &armbatch.PoolClientListByBatchAccountOptions{Maxresults: nil, + Select: nil, + Filter: nil, + }) + for poolClientNewListByBatchAccountPager.More() { + _, err := poolClientNewListByBatchAccountPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Pool_Get + fmt.Println("Call operation: Pool_Get") + _, err = poolClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, nil) + testsuite.Require().NoError(err) + + // From step Pool_Update + fmt.Println("Call operation: Pool_Update") + _, err = poolClient.Update(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, armbatch.Pool{ + Properties: &armbatch.PoolProperties{ + ScaleSettings: &armbatch.ScaleSettings{ + FixedScale: &armbatch.FixedScaleSettings{ + NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionTaskCompletion), + ResizeTimeout: to.Ptr("PT8M"), + TargetDedicatedNodes: to.Ptr[int32](5), + TargetLowPriorityNodes: to.Ptr[int32](0), + }, + }, + }, + }, &armbatch.PoolClientUpdateOptions{IfMatch: nil}) + testsuite.Require().NoError(err) + + // From step Pool_DisableAutoScale + fmt.Println("Call operation: Pool_DisableAutoScale") + _, err = poolClient.DisableAutoScale(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, nil) + testsuite.Require().NoError(err) + + // From step Pool_StopResize + fmt.Println("Call operation: Pool_StopResize") + _, err = poolClient.StopResize(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, nil) + testsuite.Require().NoError(err) + + // From step Pool_Delete + fmt.Println("Call operation: Pool_Delete") + poolClientDeleteResponsePoller, err := poolClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.poolName, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, poolClientDeleteResponsePoller) + testsuite.Require().NoError(err) +} + +// Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName} +func (testsuite *BatchManagementTestSuite) TestApplication() { + var err error + // From step Application_List + fmt.Println("Call operation: Application_List") + applicationClient, err := armbatch.NewApplicationClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + applicationClientNewListPager := applicationClient.NewListPager(testsuite.resourceGroupName, testsuite.accountName, &armbatch.ApplicationClientListOptions{Maxresults: nil}) + for applicationClientNewListPager.More() { + _, err := applicationClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step Application_Get + fmt.Println("Call operation: Application_Get") + _, err = applicationClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, nil) + testsuite.Require().NoError(err) + + // From step Application_Update + fmt.Println("Call operation: Application_Update") + _, err = applicationClient.Update(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, armbatch.Application{ + Properties: &armbatch.ApplicationProperties{ + AllowUpdates: to.Ptr(true), + DisplayName: to.Ptr("myAppName"), + }, + }, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName} +func (testsuite *BatchManagementTestSuite) TestApplicationPackage() { + var err error + // From step ApplicationPackage_Create + fmt.Println("Call operation: ApplicationPackage_Create") + applicationPackageClient, err := armbatch.NewApplicationPackageClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = applicationPackageClient.Create(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, testsuite.versionName, &armbatch.ApplicationPackageClientCreateOptions{}) + testsuite.Require().NoError(err) + + // From step ApplicationPackage_List + fmt.Println("Call operation: ApplicationPackage_List") + applicationPackageClientNewListPager := applicationPackageClient.NewListPager(testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, &armbatch.ApplicationPackageClientListOptions{Maxresults: nil}) + for applicationPackageClientNewListPager.More() { + _, err := applicationPackageClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } + + // From step ApplicationPackage_Get + fmt.Println("Call operation: ApplicationPackage_Get") + _, err = applicationPackageClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, testsuite.versionName, nil) + testsuite.Require().NoError(err) + + // From step ApplicationPackage_Delete + fmt.Println("Call operation: ApplicationPackage_Delete") + _, err = applicationPackageClient.Delete(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, testsuite.versionName, nil) + testsuite.Require().NoError(err) +} + +// Microsoft.Batch/operations +func (testsuite *BatchManagementTestSuite) TestOperations() { + var err error + // From step Operations_List + fmt.Println("Call operation: Operations_List") + operationsClient, err := armbatch.NewOperationsClient(testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + operationsClientNewListPager := operationsClient.NewListPager(nil) + for operationsClientNewListPager.More() { + _, err := operationsClientNewListPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + break + } +} + +// Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName} +func (testsuite *BatchManagementTestSuite) TestPrivateEndpointConnection() { + var privateEndpointConnectionName string + var privateLinkResourceName string + var err error + // From step Create_PrivateEndpoint + template := map[string]any{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": map[string]any{ + "batchAccountId": map[string]any{ + "type": "string", + "defaultValue": testsuite.batchAccountId, + }, + "location": map[string]any{ + "type": "string", + "defaultValue": testsuite.location, + }, + "networkInterfaceName": map[string]any{ + "type": "string", + "defaultValue": "epbatch-nic", + }, + "privateEndpointName": map[string]any{ + "type": "string", + "defaultValue": "epbatch", + }, + "virtualNetworksName": map[string]any{ + "type": "string", + "defaultValue": "batchvnet", + }, + }, + "resources": []any{ + map[string]any{ + "name": "[parameters('virtualNetworksName')]", + "type": "Microsoft.Network/virtualNetworks", + "apiVersion": "2020-11-01", + "location": "[parameters('location')]", + "properties": map[string]any{ + "addressSpace": map[string]any{ + "addressPrefixes": []any{ + "10.0.0.0/16", + }, + }, + "enableDdosProtection": false, + "subnets": []any{ + map[string]any{ + "name": "default", + "properties": map[string]any{ + "addressPrefix": "10.0.0.0/24", + "delegations": []any{}, + "privateEndpointNetworkPolicies": "Disabled", + "privateLinkServiceNetworkPolicies": "Enabled", + }, + }, + }, + "virtualNetworkPeerings": []any{}, + }, + }, + map[string]any{ + "name": "[parameters('networkInterfaceName')]", + "type": "Microsoft.Network/networkInterfaces", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + "location": "[parameters('location')]", + "properties": map[string]any{ + "dnsSettings": map[string]any{ + "dnsServers": []any{}, + }, + "enableIPForwarding": false, + "ipConfigurations": []any{ + map[string]any{ + "name": "privateEndpointIpConfig", + "properties": map[string]any{ + "primary": true, + "privateIPAddress": "10.0.0.4", + "privateIPAddressVersion": "IPv4", + "privateIPAllocationMethod": "Dynamic", + "subnet": map[string]any{ + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + }, + }, + }, + }, + }, + map[string]any{ + "name": "[parameters('privateEndpointName')]", + "type": "Microsoft.Network/privateEndpoints", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + "location": "[parameters('location')]", + "properties": map[string]any{ + "customDnsConfigs": []any{}, + "manualPrivateLinkServiceConnections": []any{}, + "privateLinkServiceConnections": []any{ + map[string]any{ + "name": "[parameters('privateEndpointName')]", + "properties": map[string]any{ + "groupIds": []any{ + "batchAccount", + }, + "privateLinkServiceConnectionState": map[string]any{ + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved", + }, + "privateLinkServiceId": "[parameters('batchAccountId')]", + }, + }, + }, + "subnet": map[string]any{ + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworksName'), 'default')]", + }, + }, + }, + map[string]any{ + "name": "[concat(parameters('virtualNetworksName'), '/default')]", + "type": "Microsoft.Network/virtualNetworks/subnets", + "apiVersion": "2020-11-01", + "dependsOn": []any{ + "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworksName'))]", + }, + "properties": map[string]any{ + "addressPrefix": "10.0.0.0/24", + "delegations": []any{}, + "privateEndpointNetworkPolicies": "Disabled", + "privateLinkServiceNetworkPolicies": "Enabled", + }, + }, + }, + "variables": map[string]any{}, + } + deployment := armresources.Deployment{ + Properties: &armresources.DeploymentProperties{ + Template: template, + Mode: to.Ptr(armresources.DeploymentModeIncremental), + }, + } + _, err = testutil.CreateDeployment(testsuite.ctx, testsuite.subscriptionId, testsuite.cred, testsuite.options, testsuite.resourceGroupName, "Create_PrivateEndpoint", &deployment) + testsuite.Require().NoError(err) + + // From step PrivateEndpointConnection_ListByBatchAccount + fmt.Println("Call operation: PrivateEndpointConnection_ListByBatchAccount") + privateEndpointConnectionClient, err := armbatch.NewPrivateEndpointConnectionClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + privateEndpointConnectionClientNewListByBatchAccountPager := privateEndpointConnectionClient.NewListByBatchAccountPager(testsuite.resourceGroupName, testsuite.accountName, &armbatch.PrivateEndpointConnectionClientListByBatchAccountOptions{Maxresults: nil}) + for privateEndpointConnectionClientNewListByBatchAccountPager.More() { + nextResult, err := privateEndpointConnectionClientNewListByBatchAccountPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + + privateEndpointConnectionName = *nextResult.Value[0].Name + break + } + + // From step PrivateEndpointConnection_Update + fmt.Println("Call operation: PrivateEndpointConnection_Update") + privateEndpointConnectionClientUpdateResponsePoller, err := privateEndpointConnectionClient.BeginUpdate(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, privateEndpointConnectionName, armbatch.PrivateEndpointConnection{ + Properties: &armbatch.PrivateEndpointConnectionProperties{ + PrivateLinkServiceConnectionState: &armbatch.PrivateLinkServiceConnectionState{ + Description: to.Ptr("Approved by xyz.abc@company.com"), + Status: to.Ptr(armbatch.PrivateLinkServiceConnectionStatusRejected), + }, + }, + }, &armbatch.PrivateEndpointConnectionClientBeginUpdateOptions{IfMatch: nil}) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, privateEndpointConnectionClientUpdateResponsePoller) + testsuite.Require().NoError(err) + + // From step PrivateEndpointConnection_Get + fmt.Println("Call operation: PrivateEndpointConnection_Get") + _, err = privateEndpointConnectionClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, privateEndpointConnectionName, nil) + testsuite.Require().NoError(err) + + // From step PrivateLinkResource_ListByBatchAccount + fmt.Println("Call operation: PrivateLinkResource_ListByBatchAccount") + privateLinkResourceClient, err := armbatch.NewPrivateLinkResourceClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + privateLinkResourceClientNewListByBatchAccountPager := privateLinkResourceClient.NewListByBatchAccountPager(testsuite.resourceGroupName, testsuite.accountName, &armbatch.PrivateLinkResourceClientListByBatchAccountOptions{Maxresults: nil}) + for privateLinkResourceClientNewListByBatchAccountPager.More() { + nextResult, err := privateLinkResourceClientNewListByBatchAccountPager.NextPage(testsuite.ctx) + testsuite.Require().NoError(err) + + privateLinkResourceName = *nextResult.Value[0].Name + break + } + + // From step PrivateLinkResource_Get + fmt.Println("Call operation: PrivateLinkResource_Get") + _, err = privateLinkResourceClient.Get(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, privateLinkResourceName, nil) + testsuite.Require().NoError(err) + + // From step PrivateEndpointConnection_Delete + fmt.Println("Call operation: PrivateEndpointConnection_Delete") + privateEndpointConnectionClientDeleteResponsePoller, err := privateEndpointConnectionClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, privateEndpointConnectionName, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, privateEndpointConnectionClientDeleteResponsePoller) + testsuite.Require().NoError(err) +} + +func (testsuite *BatchManagementTestSuite) Cleanup() { + var err error + // From step Application_Delete + fmt.Println("Call operation: Application_Delete") + applicationClient, err := armbatch.NewApplicationClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + _, err = applicationClient.Delete(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, testsuite.applicationName, nil) + testsuite.Require().NoError(err) + + // From step BatchAccount_Delete + fmt.Println("Call operation: BatchAccount_Delete") + accountClient, err := armbatch.NewAccountClient(testsuite.subscriptionId, testsuite.cred, testsuite.options) + testsuite.Require().NoError(err) + accountClientDeleteResponsePoller, err := accountClient.BeginDelete(testsuite.ctx, testsuite.resourceGroupName, testsuite.accountName, nil) + testsuite.Require().NoError(err) + _, err = testutil.PollForTest(testsuite.ctx, accountClientDeleteResponsePoller) + testsuite.Require().NoError(err) +} diff --git a/sdk/resourcemanager/batch/armbatch/go.mod b/sdk/resourcemanager/batch/armbatch/go.mod index 97cd8318ccca..94b510f81c9b 100644 --- a/sdk/resourcemanager/batch/armbatch/go.mod +++ b/sdk/resourcemanager/batch/armbatch/go.mod @@ -5,17 +5,25 @@ go 1.18 require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 + github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 + github.com/stretchr/testify v1.7.0 ) require ( - github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dnaeon/go-vcr v1.1.0 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/google/uuid v1.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/crypto v0.6.0 // indirect golang.org/x/net v0.7.0 // indirect golang.org/x/sys v0.5.0 // indirect golang.org/x/text v0.7.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/sdk/resourcemanager/batch/armbatch/go.sum b/sdk/resourcemanager/batch/armbatch/go.sum index 8ba445a8c4da..6e2c77825a2c 100644 --- a/sdk/resourcemanager/batch/armbatch/go.sum +++ b/sdk/resourcemanager/batch/armbatch/go.sum @@ -4,20 +4,31 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 h1:uqM+VoHjVH6zdlkLF2b6O github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2/go.mod h1:twTKAa1E6hLmSDjLhaCkbTMQKc7p/rNLU40rLxGEOCI= github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 h1:leh5DwKv6Ihwi+h60uHtn6UWAxBbZ0q8DwQVMzf61zw= github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2/go.mod h1:FbdwsQ2EzwvXxOPcMFYO8ogEc9uMMIj3YkmCdXdAFmk= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 h1:ECsQtyERDVz3NP3kvDOTLvbQhqWp/x9EsGKtb4ogUr8= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s= github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 h1:UE9n9rkJF62ArLb1F3DEjRt8O3jLwMWdSoypKV4f3MU= github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= @@ -27,5 +38,11 @@ golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=