From f3598783e5dc2aef1d5b8968eeccbe24c4b75417 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Sat, 9 Apr 2022 04:08:01 +0000 Subject: [PATCH] CodeGen from PR 18629 in Azure/azure-rest-api-specs Merge df5458da75343dd1f040cfaba4616c6385731ad3 into 2c888f4fcc12ed71287c76a6e599cc66f34c1088 --- .../resources/armtemplatespecs/CHANGELOG.md | 83 ++++++ .../resources/armtemplatespecs/autorest.md | 6 +- .../resources/armtemplatespecs/go.mod | 27 +- .../resources/armtemplatespecs/go.sum | 7 +- ...rated_example_templatespecs_client_test.go | 147 ----------- ...xample_templatespecversions_client_test.go | 135 ---------- .../armtemplatespecs/zz_generated_client.go | 221 +++++++++++++--- .../zz_generated_constants.go | 16 +- .../armtemplatespecs/zz_generated_models.go | 242 +++--------------- .../zz_generated_models_serde.go | 210 +++++++++++++++ .../armtemplatespecs/zz_generated_pagers.go | 179 ------------- .../zz_generated_response_types.go | 91 ++----- ...z_generated_templatespecversions_client.go | 191 +++++++++++--- .../zz_generated_time_rfc3339.go | 4 +- 14 files changed, 727 insertions(+), 832 deletions(-) delete mode 100644 sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecs_client_test.go delete mode 100644 sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecversions_client_test.go create mode 100644 sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models_serde.go delete mode 100644 sdk/resourcemanager/resources/armtemplatespecs/zz_generated_pagers.go diff --git a/sdk/resourcemanager/resources/armtemplatespecs/CHANGELOG.md b/sdk/resourcemanager/resources/armtemplatespecs/CHANGELOG.md index a8c77fdfac83..253abb6b76e3 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/CHANGELOG.md +++ b/sdk/resourcemanager/resources/armtemplatespecs/CHANGELOG.md @@ -1,5 +1,88 @@ # Release History +## 0.3.0 (2022-04-09) +### Breaking Changes + +- Function `NewTemplateSpecVersionsClient` return value(s) have been changed from `(*TemplateSpecVersionsClient)` to `(*TemplateSpecVersionsClient, error)` +- Function `*TemplateSpecVersionsClient.List` return value(s) have been changed from `(*TemplateSpecVersionsClientListPager)` to `(*runtime.Pager[TemplateSpecVersionsClientListResponse])` +- Function `NewClient` return value(s) have been changed from `(*Client)` to `(*Client, error)` +- Function `*Client.ListByResourceGroup` return value(s) have been changed from `(*ClientListByResourceGroupPager)` to `(*runtime.Pager[ClientListByResourceGroupResponse])` +- Function `*Client.ListBySubscription` return value(s) have been changed from `(*ClientListBySubscriptionPager)` to `(*runtime.Pager[ClientListBySubscriptionResponse])` +- Type of `LinkedTemplateArtifact.Template` has been changed from `map[string]interface{}` to `interface{}` +- Type of `TemplateSpecProperties.Metadata` has been changed from `map[string]interface{}` to `interface{}` +- Type of `ErrorAdditionalInfo.Info` has been changed from `map[string]interface{}` to `interface{}` +- Type of `TemplateSpecVersionProperties.UIFormDefinition` has been changed from `map[string]interface{}` to `interface{}` +- Type of `TemplateSpecVersionProperties.MainTemplate` has been changed from `map[string]interface{}` to `interface{}` +- Type of `TemplateSpecVersionProperties.Metadata` has been changed from `map[string]interface{}` to `interface{}` +- Function `*ClientListBySubscriptionPager.Err` has been removed +- Function `CreatedByType.ToPtr` has been removed +- Function `*ClientListByResourceGroupPager.NextPage` has been removed +- Function `TemplateSpecExpandKind.ToPtr` has been removed +- Function `*ClientListByResourceGroupPager.Err` has been removed +- Function `*ClientListBySubscriptionPager.NextPage` has been removed +- Function `*TemplateSpecVersionsClientListPager.PageResponse` has been removed +- Function `*TemplateSpecVersionsClientListPager.Err` has been removed +- Function `*TemplateSpecVersionsClientListPager.NextPage` has been removed +- Function `*ClientListByResourceGroupPager.PageResponse` has been removed +- Function `*ClientListBySubscriptionPager.PageResponse` has been removed +- Struct `ClientCreateOrUpdateResult` has been removed +- Struct `ClientGetResult` has been removed +- Struct `ClientListByResourceGroupPager` has been removed +- Struct `ClientListByResourceGroupResult` has been removed +- Struct `ClientListBySubscriptionPager` has been removed +- Struct `ClientListBySubscriptionResult` has been removed +- Struct `ClientUpdateResult` has been removed +- Struct `TemplateSpecVersionsClientCreateOrUpdateResult` has been removed +- Struct `TemplateSpecVersionsClientGetResult` has been removed +- Struct `TemplateSpecVersionsClientListPager` has been removed +- Struct `TemplateSpecVersionsClientListResult` has been removed +- Struct `TemplateSpecVersionsClientUpdateResult` has been removed +- Field `ClientListBySubscriptionResult` of struct `ClientListBySubscriptionResponse` has been removed +- Field `RawResponse` of struct `ClientListBySubscriptionResponse` has been removed +- Field `RawResponse` of struct `TemplateSpecVersionsClientDeleteResponse` has been removed +- Field `TemplateSpecVersionsClientListResult` of struct `TemplateSpecVersionsClientListResponse` has been removed +- Field `RawResponse` of struct `TemplateSpecVersionsClientListResponse` has been removed +- Field `TemplateSpecVersionsClientCreateOrUpdateResult` of struct `TemplateSpecVersionsClientCreateOrUpdateResponse` has been removed +- Field `RawResponse` of struct `TemplateSpecVersionsClientCreateOrUpdateResponse` has been removed +- Field `RawResponse` of struct `ClientDeleteResponse` has been removed +- Field `TemplateSpecVersionsClientGetResult` of struct `TemplateSpecVersionsClientGetResponse` has been removed +- Field `RawResponse` of struct `TemplateSpecVersionsClientGetResponse` has been removed +- Field `ClientListByResourceGroupResult` of struct `ClientListByResourceGroupResponse` has been removed +- Field `RawResponse` of struct `ClientListByResourceGroupResponse` has been removed +- Field `ClientUpdateResult` of struct `ClientUpdateResponse` has been removed +- Field `RawResponse` of struct `ClientUpdateResponse` has been removed +- Field `TemplateSpecVersionsClientUpdateResult` of struct `TemplateSpecVersionsClientUpdateResponse` has been removed +- Field `RawResponse` of struct `TemplateSpecVersionsClientUpdateResponse` has been removed +- Field `ClientCreateOrUpdateResult` of struct `ClientCreateOrUpdateResponse` has been removed +- Field `RawResponse` of struct `ClientCreateOrUpdateResponse` has been removed +- Field `ClientGetResult` of struct `ClientGetResponse` has been removed +- Field `RawResponse` of struct `ClientGetResponse` has been removed + +### Features Added + +- New function `*TemplateSpecVersionsClient.GetBuiltIn(context.Context, string, string, *TemplateSpecVersionsClientGetBuiltInOptions) (TemplateSpecVersionsClientGetBuiltInResponse, error)` +- New function `*Client.ListBuiltIns(*ClientListBuiltInsOptions) *runtime.Pager[ClientListBuiltInsResponse]` +- New function `*Client.GetBuiltIn(context.Context, string, *ClientGetBuiltInOptions) (ClientGetBuiltInResponse, error)` +- New function `*TemplateSpecVersionsClient.ListBuiltIns(string, *TemplateSpecVersionsClientListBuiltInsOptions) *runtime.Pager[TemplateSpecVersionsClientListBuiltInsResponse]` +- New struct `ClientGetBuiltInOptions` +- New struct `ClientGetBuiltInResponse` +- New struct `ClientListBuiltInsOptions` +- New struct `ClientListBuiltInsResponse` +- New struct `TemplateSpecVersionsClientGetBuiltInOptions` +- New struct `TemplateSpecVersionsClientGetBuiltInResponse` +- New struct `TemplateSpecVersionsClientListBuiltInsOptions` +- New struct `TemplateSpecVersionsClientListBuiltInsResponse` +- New anonymous field `ListResult` in struct `ClientListBySubscriptionResponse` +- New anonymous field `TemplateSpec` in struct `ClientCreateOrUpdateResponse` +- New anonymous field `TemplateSpecVersionsListResult` in struct `TemplateSpecVersionsClientListResponse` +- New anonymous field `TemplateSpecVersion` in struct `TemplateSpecVersionsClientUpdateResponse` +- New anonymous field `TemplateSpec` in struct `ClientUpdateResponse` +- New anonymous field `TemplateSpecVersion` in struct `TemplateSpecVersionsClientGetResponse` +- New anonymous field `ListResult` in struct `ClientListByResourceGroupResponse` +- New anonymous field `TemplateSpec` in struct `ClientGetResponse` +- New anonymous field `TemplateSpecVersion` in struct `TemplateSpecVersionsClientCreateOrUpdateResponse` + + ## 0.2.1 (2022-02-22) ### Other Changes diff --git a/sdk/resourcemanager/resources/armtemplatespecs/autorest.md b/sdk/resourcemanager/resources/armtemplatespecs/autorest.md index c721e2fde991..15ebc2dfee53 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/autorest.md +++ b/sdk/resourcemanager/resources/armtemplatespecs/autorest.md @@ -5,9 +5,9 @@ ``` yaml azure-arm: true require: -- https://github.com/Azure/azure-rest-api-specs/blob/8e4746332979ed6ff3577bdc97dd2065a7577598/specification/resources/resource-manager/readme.md -- https://github.com/Azure/azure-rest-api-specs/blob/8e4746332979ed6ff3577bdc97dd2065a7577598/specification/resources/resource-manager/readme.go.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/resources/resource-manager/readme.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/resources/resource-manager/readme.go.md license-header: MICROSOFT_MIT_NO_VERSION -module-version: 0.2.1 +module-version: 0.3.0 package-templatespecs: true ``` \ No newline at end of file diff --git a/sdk/resourcemanager/resources/armtemplatespecs/go.mod b/sdk/resourcemanager/resources/armtemplatespecs/go.mod index de1c35066df5..004e25e15437 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/go.mod +++ b/sdk/resourcemanager/resources/armtemplatespecs/go.mod @@ -1,10 +1,29 @@ module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armtemplatespecs -go 1.16 +go 1.18 require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v0.22.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.13.1 - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.1.0 + github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.2.0 github.com/stretchr/testify v1.7.0 ) + +require ( + github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.13.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v0.3.1 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v0.4.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 v3.2.1+incompatible // indirect + github.com/google/uuid v1.1.1 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect + github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect + golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect + golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect +) diff --git a/sdk/resourcemanager/resources/armtemplatespecs/go.sum b/sdk/resourcemanager/resources/armtemplatespecs/go.sum index 861905ed56b2..d78f0446a869 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/go.sum +++ b/sdk/resourcemanager/resources/armtemplatespecs/go.sum @@ -1,14 +1,15 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.0/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.22.0 h1:zBJcBJwte0x6PcPK7XaWDMvK2o2ZM2f1sMaqNNavQ5g= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.22.0/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.0 h1:D7l5jspkc4kwBYRWoZE4DQnu6LVpLwDsMZjBKS4wZLQ= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.0/go.mod h1:w5pDIZuawUmY3Bj4tVx3Xb8KS96ToB0j315w9rqpAg0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.13.0/go.mod h1:TmXReXZ9yPp5D5TBRMTAtyz+UyOl15Py4hL5E5p6igQ= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.13.1 h1:RxemzI2cHD0A8WyMqHu/UnDjfpGES/cmjtPbQoktWqs= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.13.1/go.mod h1:+nVKciyKD2J9TyVcEQ82Bo9b+3F92PiQfHrIE/zqLqM= github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.1 h1:sLZ/Y+P/5RRtsXWylBjB5lkgixYfm0MQPiwrSX//JSo= github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.1/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.1.0 h1:/hWqo5bAXoNK7svf5GvgpXFPzOCpM29/Eu+WqcE34Uk= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.1.0/go.mod h1:wXFq4k1znCwV7Bw70gw4UDNYKv/nrCUr70hjUmOj1Jo= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.2.0 h1:XXN3bts0fUoLmcjptj5wymRVOfsQySQa7hsbAGrZ2n8= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v0.2.0/go.mod h1:wXFq4k1znCwV7Bw70gw4UDNYKv/nrCUr70hjUmOj1Jo= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v0.3.1 h1:EXTDtCSTfPauGawsG+Ae/W46B1PkrgzuKNrcFqy4ljM= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v0.3.1/go.mod h1:PoA99xQAlN13MyUjzgIPWMZEr0etHpYSuT25LmhR3zQ= github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= diff --git a/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecs_client_test.go b/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecs_client_test.go deleted file mode 100644 index afab72a49f09..000000000000 --- a/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecs_client_test.go +++ /dev/null @@ -1,147 +0,0 @@ -//go:build go1.16 -// +build go1.16 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -package armtemplatespecs_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armtemplatespecs" -) - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsCreate.json -func ExampleClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - res, err := client.CreateOrUpdate(ctx, - "", - "", - armtemplatespecs.TemplateSpec{ - Location: to.StringPtr(""), - Properties: &armtemplatespecs.TemplateSpecProperties{ - Description: to.StringPtr(""), - }, - }, - nil) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.ClientCreateOrUpdateResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsPatch.json -func ExampleClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - res, err := client.Update(ctx, - "", - "", - &armtemplatespecs.ClientUpdateOptions{TemplateSpec: &armtemplatespecs.TemplateSpecUpdateModel{ - Tags: map[string]*string{ - "myTag": to.StringPtr("My Value"), - }, - }, - }) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.ClientUpdateResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsGet.json -func ExampleClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - res, err := client.Get(ctx, - "", - "", - &armtemplatespecs.ClientGetOptions{Expand: nil}) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.ClientGetResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsDelete.json -func ExampleClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - _, err = client.Delete(ctx, - "", - "", - nil) - if err != nil { - log.Fatal(err) - } -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsListBySubscription.json -func ExampleClient_ListBySubscription() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - pager := client.ListBySubscription(&armtemplatespecs.ClientListBySubscriptionOptions{Expand: nil}) - for { - nextResult := pager.NextPage(ctx) - if err := pager.Err(); err != nil { - log.Fatalf("failed to advance page: %v", err) - } - if !nextResult { - break - } - for _, v := range pager.PageResponse().Value { - log.Printf("Pager result: %#v\n", v) - } - } -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecsListByResourceGroup.json -func ExampleClient_ListByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewClient("", cred, nil) - pager := client.ListByResourceGroup("", - &armtemplatespecs.ClientListByResourceGroupOptions{Expand: nil}) - for { - nextResult := pager.NextPage(ctx) - if err := pager.Err(); err != nil { - log.Fatalf("failed to advance page: %v", err) - } - if !nextResult { - break - } - for _, v := range pager.PageResponse().Value { - log.Printf("Pager result: %#v\n", v) - } - } -} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecversions_client_test.go b/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecversions_client_test.go deleted file mode 100644 index 6643050b8b32..000000000000 --- a/sdk/resourcemanager/resources/armtemplatespecs/ze_generated_example_templatespecversions_client_test.go +++ /dev/null @@ -1,135 +0,0 @@ -//go:build go1.16 -// +build go1.16 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -package armtemplatespecs_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armtemplatespecs" -) - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecVersionsCreate.json -func ExampleTemplateSpecVersionsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewTemplateSpecVersionsClient("", cred, nil) - res, err := client.CreateOrUpdate(ctx, - "", - "", - "", - armtemplatespecs.TemplateSpecVersion{ - Location: to.StringPtr(""), - Properties: &armtemplatespecs.TemplateSpecVersionProperties{ - Description: to.StringPtr(""), - MainTemplate: map[string]interface{}{ - "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": map[string]interface{}{}, - "resources": []interface{}{}, - }, - }, - }, - nil) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.TemplateSpecVersionsClientCreateOrUpdateResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecVersionsPatch.json -func ExampleTemplateSpecVersionsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewTemplateSpecVersionsClient("", cred, nil) - res, err := client.Update(ctx, - "", - "", - "", - &armtemplatespecs.TemplateSpecVersionsClientUpdateOptions{TemplateSpecVersionUpdateModel: &armtemplatespecs.TemplateSpecVersionUpdateModel{ - Tags: map[string]*string{ - "myTag": to.StringPtr("My Value"), - }, - }, - }) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.TemplateSpecVersionsClientUpdateResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecVersionsGet.json -func ExampleTemplateSpecVersionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewTemplateSpecVersionsClient("", cred, nil) - res, err := client.Get(ctx, - "", - "", - "", - nil) - if err != nil { - log.Fatal(err) - } - log.Printf("Response result: %#v\n", res.TemplateSpecVersionsClientGetResult) -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecVersionsDelete.json -func ExampleTemplateSpecVersionsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewTemplateSpecVersionsClient("", cred, nil) - _, err = client.Delete(ctx, - "", - "", - "", - nil) - if err != nil { - log.Fatal(err) - } -} - -// x-ms-original-file: specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/examples/TemplateSpecVersionsList.json -func ExampleTemplateSpecVersionsClient_List() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client := armtemplatespecs.NewTemplateSpecVersionsClient("", cred, nil) - pager := client.List("", - "", - nil) - for { - nextResult := pager.NextPage(ctx) - if err := pager.Err(); err != nil { - log.Fatalf("failed to advance page: %v", err) - } - if !nextResult { - break - } - for _, v := range pager.PageResponse().Value { - log.Printf("Pager result: %#v\n", v) - } - } -} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_client.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_client.go index e26851d26308..4aa680c7db79 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_client.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_client.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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. @@ -14,6 +14,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore" "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" armruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" "net/http" @@ -33,20 +34,24 @@ type Client struct { // subscriptionID - Subscription Id which forms part of the URI for every service call. // credential - used to authorize requests. Usually a credential from azidentity. // options - pass nil to accept the default values. -func NewClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) *Client { - cp := arm.ClientOptions{} - if options != nil { - cp = *options +func NewClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*Client, error) { + if options == nil { + options = &arm.ClientOptions{} } - if len(cp.Endpoint) == 0 { - cp.Endpoint = arm.AzurePublicCloud + ep := cloud.AzurePublicCloud.Services[cloud.ResourceManager].Endpoint + if c, ok := options.Cloud.Services[cloud.ResourceManager]; ok { + ep = c.Endpoint + } + pl, err := armruntime.NewPipeline(moduleName, moduleVersion, credential, runtime.PipelineOptions{}, options) + if err != nil { + return nil, err } client := &Client{ subscriptionID: subscriptionID, - host: string(cp.Endpoint), - pl: armruntime.NewPipeline(moduleName, moduleVersion, credential, runtime.PipelineOptions{}, &cp), + host: ep, + pl: pl, } - return client + return client, nil } // CreateOrUpdate - Creates or updates a Template Spec. @@ -90,7 +95,7 @@ func (client *Client) createOrUpdateCreateRequest(ctx context.Context, resourceG return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, runtime.MarshalAsJSON(req, templateSpec) @@ -98,7 +103,7 @@ func (client *Client) createOrUpdateCreateRequest(ctx context.Context, resourceG // createOrUpdateHandleResponse handles the CreateOrUpdate response. func (client *Client) createOrUpdateHandleResponse(resp *http.Response) (ClientCreateOrUpdateResponse, error) { - result := ClientCreateOrUpdateResponse{RawResponse: resp} + result := ClientCreateOrUpdateResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpec); err != nil { return ClientCreateOrUpdateResponse{}, err } @@ -122,7 +127,7 @@ func (client *Client) Delete(ctx context.Context, resourceGroupName string, temp if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusNoContent) { return ClientDeleteResponse{}, runtime.NewResponseError(resp) } - return ClientDeleteResponse{RawResponse: resp}, nil + return ClientDeleteResponse{}, nil } // deleteCreateRequest creates the Delete request. @@ -145,7 +150,7 @@ func (client *Client) deleteCreateRequest(ctx context.Context, resourceGroupName return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -194,7 +199,7 @@ func (client *Client) getCreateRequest(ctx context.Context, resourceGroupName st if options != nil && options.Expand != nil { reqQP.Set("$expand", string(*options.Expand)) } - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -202,27 +207,149 @@ func (client *Client) getCreateRequest(ctx context.Context, resourceGroupName st // getHandleResponse handles the Get response. func (client *Client) getHandleResponse(resp *http.Response) (ClientGetResponse, error) { - result := ClientGetResponse{RawResponse: resp} + result := ClientGetResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpec); err != nil { return ClientGetResponse{}, err } return result, nil } +// GetBuiltIn - Gets a built-in Template Spec with a given name. +// If the operation fails it returns an *azcore.ResponseError type. +// templateSpecName - Name of the Template Spec. +// options - ClientGetBuiltInOptions contains the optional parameters for the Client.GetBuiltIn method. +func (client *Client) GetBuiltIn(ctx context.Context, templateSpecName string, options *ClientGetBuiltInOptions) (ClientGetBuiltInResponse, error) { + req, err := client.getBuiltInCreateRequest(ctx, templateSpecName, options) + if err != nil { + return ClientGetBuiltInResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ClientGetBuiltInResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ClientGetBuiltInResponse{}, runtime.NewResponseError(resp) + } + return client.getBuiltInHandleResponse(resp) +} + +// getBuiltInCreateRequest creates the GetBuiltIn request. +func (client *Client) getBuiltInCreateRequest(ctx context.Context, templateSpecName string, options *ClientGetBuiltInOptions) (*policy.Request, error) { + urlPath := "/providers/Microsoft.Resources/builtInTemplateSpecs/{templateSpecName}" + if templateSpecName == "" { + return nil, errors.New("parameter templateSpecName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{templateSpecName}", url.PathEscape(templateSpecName)) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + if options != nil && options.Expand != nil { + reqQP.Set("$expand", string(*options.Expand)) + } + reqQP.Set("api-version", "2022-02-01") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header.Set("Accept", "application/json") + return req, nil +} + +// getBuiltInHandleResponse handles the GetBuiltIn response. +func (client *Client) getBuiltInHandleResponse(resp *http.Response) (ClientGetBuiltInResponse, error) { + result := ClientGetBuiltInResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpec); err != nil { + return ClientGetBuiltInResponse{}, err + } + return result, nil +} + +// ListBuiltIns - Lists built-in Template Specs. +// If the operation fails it returns an *azcore.ResponseError type. +// options - ClientListBuiltInsOptions contains the optional parameters for the Client.ListBuiltIns method. +func (client *Client) ListBuiltIns(options *ClientListBuiltInsOptions) *runtime.Pager[ClientListBuiltInsResponse] { + return runtime.NewPager(runtime.PageProcessor[ClientListBuiltInsResponse]{ + More: func(page ClientListBuiltInsResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 + }, + Fetcher: func(ctx context.Context, page *ClientListBuiltInsResponse) (ClientListBuiltInsResponse, error) { + var req *policy.Request + var err error + if page == nil { + req, err = client.listBuiltInsCreateRequest(ctx, options) + } else { + req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + } + if err != nil { + return ClientListBuiltInsResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ClientListBuiltInsResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ClientListBuiltInsResponse{}, runtime.NewResponseError(resp) + } + return client.listBuiltInsHandleResponse(resp) + }, + }) +} + +// listBuiltInsCreateRequest creates the ListBuiltIns request. +func (client *Client) listBuiltInsCreateRequest(ctx context.Context, options *ClientListBuiltInsOptions) (*policy.Request, error) { + urlPath := "/providers/Microsoft.Resources/builtInTemplateSpecs/" + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + if options != nil && options.Expand != nil { + reqQP.Set("$expand", string(*options.Expand)) + } + reqQP.Set("api-version", "2022-02-01") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header.Set("Accept", "application/json") + return req, nil +} + +// listBuiltInsHandleResponse handles the ListBuiltIns response. +func (client *Client) listBuiltInsHandleResponse(resp *http.Response) (ClientListBuiltInsResponse, error) { + result := ClientListBuiltInsResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.ListResult); err != nil { + return ClientListBuiltInsResponse{}, err + } + return result, nil +} + // ListByResourceGroup - Lists all the Template Specs within the specified resource group. // If the operation fails it returns an *azcore.ResponseError type. // resourceGroupName - The name of the resource group. The name is case insensitive. // options - ClientListByResourceGroupOptions contains the optional parameters for the Client.ListByResourceGroup method. -func (client *Client) ListByResourceGroup(resourceGroupName string, options *ClientListByResourceGroupOptions) *ClientListByResourceGroupPager { - return &ClientListByResourceGroupPager{ - client: client, - requester: func(ctx context.Context) (*policy.Request, error) { - return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) +func (client *Client) ListByResourceGroup(resourceGroupName string, options *ClientListByResourceGroupOptions) *runtime.Pager[ClientListByResourceGroupResponse] { + return runtime.NewPager(runtime.PageProcessor[ClientListByResourceGroupResponse]{ + More: func(page ClientListByResourceGroupResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 }, - advancer: func(ctx context.Context, resp ClientListByResourceGroupResponse) (*policy.Request, error) { - return runtime.NewRequest(ctx, http.MethodGet, *resp.ListResult.NextLink) + Fetcher: func(ctx context.Context, page *ClientListByResourceGroupResponse) (ClientListByResourceGroupResponse, error) { + var req *policy.Request + var err error + if page == nil { + req, err = client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) + } else { + req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + } + if err != nil { + return ClientListByResourceGroupResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ClientListByResourceGroupResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) + } + return client.listByResourceGroupHandleResponse(resp) }, - } + }) } // listByResourceGroupCreateRequest creates the ListByResourceGroup request. @@ -244,7 +371,7 @@ func (client *Client) listByResourceGroupCreateRequest(ctx context.Context, reso if options != nil && options.Expand != nil { reqQP.Set("$expand", string(*options.Expand)) } - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -252,7 +379,7 @@ func (client *Client) listByResourceGroupCreateRequest(ctx context.Context, reso // listByResourceGroupHandleResponse handles the ListByResourceGroup response. func (client *Client) listByResourceGroupHandleResponse(resp *http.Response) (ClientListByResourceGroupResponse, error) { - result := ClientListByResourceGroupResponse{RawResponse: resp} + result := ClientListByResourceGroupResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.ListResult); err != nil { return ClientListByResourceGroupResponse{}, err } @@ -262,16 +389,32 @@ func (client *Client) listByResourceGroupHandleResponse(resp *http.Response) (Cl // ListBySubscription - Lists all the Template Specs within the specified subscriptions. // If the operation fails it returns an *azcore.ResponseError type. // options - ClientListBySubscriptionOptions contains the optional parameters for the Client.ListBySubscription method. -func (client *Client) ListBySubscription(options *ClientListBySubscriptionOptions) *ClientListBySubscriptionPager { - return &ClientListBySubscriptionPager{ - client: client, - requester: func(ctx context.Context) (*policy.Request, error) { - return client.listBySubscriptionCreateRequest(ctx, options) +func (client *Client) ListBySubscription(options *ClientListBySubscriptionOptions) *runtime.Pager[ClientListBySubscriptionResponse] { + return runtime.NewPager(runtime.PageProcessor[ClientListBySubscriptionResponse]{ + More: func(page ClientListBySubscriptionResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 }, - advancer: func(ctx context.Context, resp ClientListBySubscriptionResponse) (*policy.Request, error) { - return runtime.NewRequest(ctx, http.MethodGet, *resp.ListResult.NextLink) + Fetcher: func(ctx context.Context, page *ClientListBySubscriptionResponse) (ClientListBySubscriptionResponse, error) { + var req *policy.Request + var err error + if page == nil { + req, err = client.listBySubscriptionCreateRequest(ctx, options) + } else { + req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + } + if err != nil { + return ClientListBySubscriptionResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ClientListBySubscriptionResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ClientListBySubscriptionResponse{}, runtime.NewResponseError(resp) + } + return client.listBySubscriptionHandleResponse(resp) }, - } + }) } // listBySubscriptionCreateRequest creates the ListBySubscription request. @@ -289,7 +432,7 @@ func (client *Client) listBySubscriptionCreateRequest(ctx context.Context, optio if options != nil && options.Expand != nil { reqQP.Set("$expand", string(*options.Expand)) } - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -297,7 +440,7 @@ func (client *Client) listBySubscriptionCreateRequest(ctx context.Context, optio // listBySubscriptionHandleResponse handles the ListBySubscription response. func (client *Client) listBySubscriptionHandleResponse(resp *http.Response) (ClientListBySubscriptionResponse, error) { - result := ClientListBySubscriptionResponse{RawResponse: resp} + result := ClientListBySubscriptionResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.ListResult); err != nil { return ClientListBySubscriptionResponse{}, err } @@ -344,7 +487,7 @@ func (client *Client) updateCreateRequest(ctx context.Context, resourceGroupName return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") if options != nil && options.TemplateSpec != nil { @@ -355,7 +498,7 @@ func (client *Client) updateCreateRequest(ctx context.Context, resourceGroupName // updateHandleResponse handles the Update response. func (client *Client) updateHandleResponse(resp *http.Response) (ClientUpdateResponse, error) { - result := ClientUpdateResponse{RawResponse: resp} + result := ClientUpdateResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpec); err != nil { return ClientUpdateResponse{}, err } diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_constants.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_constants.go index aa224e987648..bdae85be64db 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_constants.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_constants.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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. @@ -10,7 +10,7 @@ package armtemplatespecs const ( moduleName = "armtemplatespecs" - moduleVersion = "v0.2.1" + moduleVersion = "v0.3.0" ) // CreatedByType - The type of identity that created the resource. @@ -33,11 +33,6 @@ func PossibleCreatedByTypeValues() []CreatedByType { } } -// ToPtr returns a *CreatedByType pointing to the current value. -func (c CreatedByType) ToPtr() *CreatedByType { - return &c -} - type TemplateSpecExpandKind string const ( @@ -51,8 +46,3 @@ func PossibleTemplateSpecExpandKindValues() []TemplateSpecExpandKind { TemplateSpecExpandKindVersions, } } - -// ToPtr returns a *TemplateSpecExpandKind pointing to the current value. -func (c TemplateSpecExpandKind) ToPtr() *TemplateSpecExpandKind { - return &c -} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models.go index 4d8fd1e71b74..74c1b59e511e 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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. @@ -8,12 +8,7 @@ package armtemplatespecs -import ( - "encoding/json" - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "reflect" - "time" -) +import "time" // AzureResourceBase - Common properties for all Azure resources. type AzureResourceBase struct { @@ -40,12 +35,24 @@ type ClientDeleteOptions struct { // placeholder for future optional parameters } +// ClientGetBuiltInOptions contains the optional parameters for the Client.GetBuiltIn method. +type ClientGetBuiltInOptions struct { + // Allows for expansion of additional Template Spec details in the response. Optional. + Expand *TemplateSpecExpandKind +} + // ClientGetOptions contains the optional parameters for the Client.Get method. type ClientGetOptions struct { // Allows for expansion of additional Template Spec details in the response. Optional. Expand *TemplateSpecExpandKind } +// ClientListBuiltInsOptions contains the optional parameters for the Client.ListBuiltIns method. +type ClientListBuiltInsOptions struct { + // Allows for expansion of additional Template Spec details in the response. Optional. + Expand *TemplateSpecExpandKind +} + // ClientListByResourceGroupOptions contains the optional parameters for the Client.ListByResourceGroup method. type ClientListByResourceGroupOptions struct { // Allows for expansion of additional Template Spec details in the response. Optional. @@ -74,7 +81,7 @@ type Error struct { // ErrorAdditionalInfo - The resource management error additional info. type ErrorAdditionalInfo struct { // READ-ONLY; The additional info. - Info map[string]interface{} `json:"info,omitempty" azure:"ro"` + Info interface{} `json:"info,omitempty" azure:"ro"` // READ-ONLY; The additional info type. Type *string `json:"type,omitempty" azure:"ro"` @@ -99,17 +106,6 @@ type ErrorResponse struct { Target *string `json:"target,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type ErrorResponse. -func (e ErrorResponse) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "additionalInfo", e.AdditionalInfo) - populate(objectMap, "code", e.Code) - populate(objectMap, "details", e.Details) - populate(objectMap, "message", e.Message) - populate(objectMap, "target", e.Target) - return json.Marshal(objectMap) -} - // LinkedTemplateArtifact - Represents a Template Spec artifact containing an embedded Azure Resource Manager template for // use as a linked template. type LinkedTemplateArtifact struct { @@ -117,7 +113,7 @@ type LinkedTemplateArtifact struct { Path *string `json:"path,omitempty"` // REQUIRED; The Azure Resource Manager template. - Template map[string]interface{} `json:"template,omitempty"` + Template interface{} `json:"template,omitempty"` } // ListResult - List of Template Specs. @@ -129,14 +125,6 @@ type ListResult struct { NextLink *string `json:"nextLink,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type ListResult. -func (l ListResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "nextLink", l.NextLink) - populate(objectMap, "value", l.Value) - return json.Marshal(objectMap) -} - // SystemData - Metadata pertaining to creation and last modification of the resource. type SystemData struct { // The timestamp of resource creation (UTC). @@ -158,53 +146,6 @@ type SystemData struct { LastModifiedByType *CreatedByType `json:"lastModifiedByType,omitempty"` } -// MarshalJSON implements the json.Marshaller interface for type SystemData. -func (s SystemData) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populateTimeRFC3339(objectMap, "createdAt", s.CreatedAt) - populate(objectMap, "createdBy", s.CreatedBy) - populate(objectMap, "createdByType", s.CreatedByType) - populateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt) - populate(objectMap, "lastModifiedBy", s.LastModifiedBy) - populate(objectMap, "lastModifiedByType", s.LastModifiedByType) - return json.Marshal(objectMap) -} - -// UnmarshalJSON implements the json.Unmarshaller interface for type SystemData. -func (s *SystemData) UnmarshalJSON(data []byte) error { - var rawMsg map[string]json.RawMessage - if err := json.Unmarshal(data, &rawMsg); err != nil { - return err - } - for key, val := range rawMsg { - var err error - switch key { - case "createdAt": - err = unpopulateTimeRFC3339(val, &s.CreatedAt) - delete(rawMsg, key) - case "createdBy": - err = unpopulate(val, &s.CreatedBy) - delete(rawMsg, key) - case "createdByType": - err = unpopulate(val, &s.CreatedByType) - delete(rawMsg, key) - case "lastModifiedAt": - err = unpopulateTimeRFC3339(val, &s.LastModifiedAt) - delete(rawMsg, key) - case "lastModifiedBy": - err = unpopulate(val, &s.LastModifiedBy) - delete(rawMsg, key) - case "lastModifiedByType": - err = unpopulate(val, &s.LastModifiedByType) - delete(rawMsg, key) - } - if err != nil { - return err - } - } - return nil -} - // TemplateSpec - Template Spec object. type TemplateSpec struct { // REQUIRED; The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported @@ -230,19 +171,6 @@ type TemplateSpec struct { Type *string `json:"type,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpec. -func (t TemplateSpec) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "id", t.ID) - populate(objectMap, "location", t.Location) - populate(objectMap, "name", t.Name) - populate(objectMap, "properties", t.Properties) - populate(objectMap, "systemData", t.SystemData) - populate(objectMap, "tags", t.Tags) - populate(objectMap, "type", t.Type) - return json.Marshal(objectMap) -} - // TemplateSpecProperties - Template Spec properties. type TemplateSpecProperties struct { // Template Spec description. @@ -252,23 +180,13 @@ type TemplateSpecProperties struct { DisplayName *string `json:"displayName,omitempty"` // The Template Spec metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. - Metadata map[string]interface{} `json:"metadata,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` // READ-ONLY; High-level information about the versions within this Template Spec. The keys are the version names. Only populated // if the $expand query parameter is set to 'versions'. Versions map[string]*TemplateSpecVersionInfo `json:"versions,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecProperties. -func (t TemplateSpecProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "description", t.Description) - populate(objectMap, "displayName", t.DisplayName) - populate(objectMap, "metadata", t.Metadata) - populate(objectMap, "versions", t.Versions) - return json.Marshal(objectMap) -} - // TemplateSpecUpdateModel - Template Spec properties to be updated (only tags are currently supported). type TemplateSpecUpdateModel struct { // Resource tags. @@ -287,17 +205,6 @@ type TemplateSpecUpdateModel struct { Type *string `json:"type,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecUpdateModel. -func (t TemplateSpecUpdateModel) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "id", t.ID) - populate(objectMap, "name", t.Name) - populate(objectMap, "systemData", t.SystemData) - populate(objectMap, "tags", t.Tags) - populate(objectMap, "type", t.Type) - return json.Marshal(objectMap) -} - // TemplateSpecVersion - Template Spec Version object. type TemplateSpecVersion struct { // REQUIRED; The location of the Template Spec Version. It must match the location of the parent Template Spec. @@ -322,19 +229,6 @@ type TemplateSpecVersion struct { Type *string `json:"type,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersion. -func (t TemplateSpecVersion) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "id", t.ID) - populate(objectMap, "location", t.Location) - populate(objectMap, "name", t.Name) - populate(objectMap, "properties", t.Properties) - populate(objectMap, "systemData", t.SystemData) - populate(objectMap, "tags", t.Tags) - populate(objectMap, "type", t.Type) - return json.Marshal(objectMap) -} - // TemplateSpecVersionInfo - High-level information about a Template Spec version. type TemplateSpecVersionInfo struct { // READ-ONLY; Template Spec version description. @@ -347,41 +241,6 @@ type TemplateSpecVersionInfo struct { TimeModified *time.Time `json:"timeModified,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionInfo. -func (t TemplateSpecVersionInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "description", t.Description) - populateTimeRFC3339(objectMap, "timeCreated", t.TimeCreated) - populateTimeRFC3339(objectMap, "timeModified", t.TimeModified) - return json.Marshal(objectMap) -} - -// UnmarshalJSON implements the json.Unmarshaller interface for type TemplateSpecVersionInfo. -func (t *TemplateSpecVersionInfo) UnmarshalJSON(data []byte) error { - var rawMsg map[string]json.RawMessage - if err := json.Unmarshal(data, &rawMsg); err != nil { - return err - } - for key, val := range rawMsg { - var err error - switch key { - case "description": - err = unpopulate(val, &t.Description) - delete(rawMsg, key) - case "timeCreated": - err = unpopulateTimeRFC3339(val, &t.TimeCreated) - delete(rawMsg, key) - case "timeModified": - err = unpopulateTimeRFC3339(val, &t.TimeModified) - delete(rawMsg, key) - } - if err != nil { - return err - } - } - return nil -} - // TemplateSpecVersionProperties - Template Spec Version properties. type TemplateSpecVersionProperties struct { // Template Spec version description. @@ -391,24 +250,13 @@ type TemplateSpecVersionProperties struct { LinkedTemplates []*LinkedTemplateArtifact `json:"linkedTemplates,omitempty"` // The main Azure Resource Manager template content. - MainTemplate map[string]interface{} `json:"mainTemplate,omitempty"` + MainTemplate interface{} `json:"mainTemplate,omitempty"` // The version metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. - Metadata map[string]interface{} `json:"metadata,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` // The Azure Resource Manager template UI definition content. - UIFormDefinition map[string]interface{} `json:"uiFormDefinition,omitempty"` -} - -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionProperties. -func (t TemplateSpecVersionProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "description", t.Description) - populate(objectMap, "linkedTemplates", t.LinkedTemplates) - populate(objectMap, "mainTemplate", t.MainTemplate) - populate(objectMap, "metadata", t.Metadata) - populate(objectMap, "uiFormDefinition", t.UIFormDefinition) - return json.Marshal(objectMap) + UIFormDefinition interface{} `json:"uiFormDefinition,omitempty"` } // TemplateSpecVersionUpdateModel - Template Spec Version properties to be updated (only tags are currently supported). @@ -429,17 +277,6 @@ type TemplateSpecVersionUpdateModel struct { Type *string `json:"type,omitempty" azure:"ro"` } -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionUpdateModel. -func (t TemplateSpecVersionUpdateModel) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "id", t.ID) - populate(objectMap, "name", t.Name) - populate(objectMap, "systemData", t.SystemData) - populate(objectMap, "tags", t.Tags) - populate(objectMap, "type", t.Type) - return json.Marshal(objectMap) -} - // TemplateSpecVersionsClientCreateOrUpdateOptions contains the optional parameters for the TemplateSpecVersionsClient.CreateOrUpdate // method. type TemplateSpecVersionsClientCreateOrUpdateOptions struct { @@ -451,11 +288,23 @@ type TemplateSpecVersionsClientDeleteOptions struct { // placeholder for future optional parameters } +// TemplateSpecVersionsClientGetBuiltInOptions contains the optional parameters for the TemplateSpecVersionsClient.GetBuiltIn +// method. +type TemplateSpecVersionsClientGetBuiltInOptions struct { + // placeholder for future optional parameters +} + // TemplateSpecVersionsClientGetOptions contains the optional parameters for the TemplateSpecVersionsClient.Get method. type TemplateSpecVersionsClientGetOptions struct { // placeholder for future optional parameters } +// TemplateSpecVersionsClientListBuiltInsOptions contains the optional parameters for the TemplateSpecVersionsClient.ListBuiltIns +// method. +type TemplateSpecVersionsClientListBuiltInsOptions struct { + // placeholder for future optional parameters +} + // TemplateSpecVersionsClientListOptions contains the optional parameters for the TemplateSpecVersionsClient.List method. type TemplateSpecVersionsClientListOptions struct { // placeholder for future optional parameters @@ -475,28 +324,3 @@ type TemplateSpecVersionsListResult struct { // READ-ONLY; The URL to use for getting the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } - -// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionsListResult. -func (t TemplateSpecVersionsListResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "nextLink", t.NextLink) - populate(objectMap, "value", t.Value) - return json.Marshal(objectMap) -} - -func populate(m map[string]interface{}, k string, v interface{}) { - if v == nil { - return - } else if azcore.IsNullValue(v) { - m[k] = nil - } else if !reflect.ValueOf(v).IsNil() { - m[k] = v - } -} - -func unpopulate(data json.RawMessage, v interface{}) error { - if data == nil { - return nil - } - return json.Unmarshal(data, v) -} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models_serde.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models_serde.go new file mode 100644 index 000000000000..44ddb65d2818 --- /dev/null +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_models_serde.go @@ -0,0 +1,210 @@ +//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. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package armtemplatespecs + +import ( + "encoding/json" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "reflect" +) + +// MarshalJSON implements the json.Marshaller interface for type ErrorResponse. +func (e ErrorResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "additionalInfo", e.AdditionalInfo) + populate(objectMap, "code", e.Code) + populate(objectMap, "details", e.Details) + populate(objectMap, "message", e.Message) + populate(objectMap, "target", e.Target) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type ListResult. +func (l ListResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "nextLink", l.NextLink) + populate(objectMap, "value", l.Value) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type SystemData. +func (s SystemData) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populateTimeRFC3339(objectMap, "createdAt", s.CreatedAt) + populate(objectMap, "createdBy", s.CreatedBy) + populate(objectMap, "createdByType", s.CreatedByType) + populateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt) + populate(objectMap, "lastModifiedBy", s.LastModifiedBy) + populate(objectMap, "lastModifiedByType", s.LastModifiedByType) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type SystemData. +func (s *SystemData) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return err + } + for key, val := range rawMsg { + var err error + switch key { + case "createdAt": + err = unpopulateTimeRFC3339(val, &s.CreatedAt) + delete(rawMsg, key) + case "createdBy": + err = unpopulate(val, &s.CreatedBy) + delete(rawMsg, key) + case "createdByType": + err = unpopulate(val, &s.CreatedByType) + delete(rawMsg, key) + case "lastModifiedAt": + err = unpopulateTimeRFC3339(val, &s.LastModifiedAt) + delete(rawMsg, key) + case "lastModifiedBy": + err = unpopulate(val, &s.LastModifiedBy) + delete(rawMsg, key) + case "lastModifiedByType": + err = unpopulate(val, &s.LastModifiedByType) + delete(rawMsg, key) + } + if err != nil { + return err + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpec. +func (t TemplateSpec) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "id", t.ID) + populate(objectMap, "location", t.Location) + populate(objectMap, "name", t.Name) + populate(objectMap, "properties", t.Properties) + populate(objectMap, "systemData", t.SystemData) + populate(objectMap, "tags", t.Tags) + populate(objectMap, "type", t.Type) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecProperties. +func (t TemplateSpecProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "description", t.Description) + populate(objectMap, "displayName", t.DisplayName) + populate(objectMap, "metadata", &t.Metadata) + populate(objectMap, "versions", t.Versions) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecUpdateModel. +func (t TemplateSpecUpdateModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "id", t.ID) + populate(objectMap, "name", t.Name) + populate(objectMap, "systemData", t.SystemData) + populate(objectMap, "tags", t.Tags) + populate(objectMap, "type", t.Type) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersion. +func (t TemplateSpecVersion) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "id", t.ID) + populate(objectMap, "location", t.Location) + populate(objectMap, "name", t.Name) + populate(objectMap, "properties", t.Properties) + populate(objectMap, "systemData", t.SystemData) + populate(objectMap, "tags", t.Tags) + populate(objectMap, "type", t.Type) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionInfo. +func (t TemplateSpecVersionInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "description", t.Description) + populateTimeRFC3339(objectMap, "timeCreated", t.TimeCreated) + populateTimeRFC3339(objectMap, "timeModified", t.TimeModified) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type TemplateSpecVersionInfo. +func (t *TemplateSpecVersionInfo) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return err + } + for key, val := range rawMsg { + var err error + switch key { + case "description": + err = unpopulate(val, &t.Description) + delete(rawMsg, key) + case "timeCreated": + err = unpopulateTimeRFC3339(val, &t.TimeCreated) + delete(rawMsg, key) + case "timeModified": + err = unpopulateTimeRFC3339(val, &t.TimeModified) + delete(rawMsg, key) + } + if err != nil { + return err + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionProperties. +func (t TemplateSpecVersionProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "description", t.Description) + populate(objectMap, "linkedTemplates", t.LinkedTemplates) + populate(objectMap, "mainTemplate", &t.MainTemplate) + populate(objectMap, "metadata", &t.Metadata) + populate(objectMap, "uiFormDefinition", &t.UIFormDefinition) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionUpdateModel. +func (t TemplateSpecVersionUpdateModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "id", t.ID) + populate(objectMap, "name", t.Name) + populate(objectMap, "systemData", t.SystemData) + populate(objectMap, "tags", t.Tags) + populate(objectMap, "type", t.Type) + return json.Marshal(objectMap) +} + +// MarshalJSON implements the json.Marshaller interface for type TemplateSpecVersionsListResult. +func (t TemplateSpecVersionsListResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + populate(objectMap, "nextLink", t.NextLink) + populate(objectMap, "value", t.Value) + return json.Marshal(objectMap) +} + +func populate(m map[string]interface{}, k string, v interface{}) { + if v == nil { + return + } else if azcore.IsNullValue(v) { + m[k] = nil + } else if !reflect.ValueOf(v).IsNil() { + m[k] = v + } +} + +func unpopulate(data json.RawMessage, v interface{}) error { + if data == nil { + return nil + } + return json.Unmarshal(data, v) +} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_pagers.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_pagers.go deleted file mode 100644 index 3e36df06a393..000000000000 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_pagers.go +++ /dev/null @@ -1,179 +0,0 @@ -//go:build go1.16 -// +build go1.16 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -package armtemplatespecs - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" - "net/http" - "reflect" -) - -// ClientListByResourceGroupPager provides operations for iterating over paged responses. -type ClientListByResourceGroupPager struct { - client *Client - current ClientListByResourceGroupResponse - err error - requester func(context.Context) (*policy.Request, error) - advancer func(context.Context, ClientListByResourceGroupResponse) (*policy.Request, error) -} - -// Err returns the last error encountered while paging. -func (p *ClientListByResourceGroupPager) Err() error { - return p.err -} - -// NextPage returns true if the pager advanced to the next page. -// Returns false if there are no more pages or an error occurred. -func (p *ClientListByResourceGroupPager) NextPage(ctx context.Context) bool { - var req *policy.Request - var err error - if !reflect.ValueOf(p.current).IsZero() { - if p.current.ListResult.NextLink == nil || len(*p.current.ListResult.NextLink) == 0 { - return false - } - req, err = p.advancer(ctx, p.current) - } else { - req, err = p.requester(ctx) - } - if err != nil { - p.err = err - return false - } - resp, err := p.client.pl.Do(req) - if err != nil { - p.err = err - return false - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - p.err = runtime.NewResponseError(resp) - return false - } - result, err := p.client.listByResourceGroupHandleResponse(resp) - if err != nil { - p.err = err - return false - } - p.current = result - return true -} - -// PageResponse returns the current ClientListByResourceGroupResponse page. -func (p *ClientListByResourceGroupPager) PageResponse() ClientListByResourceGroupResponse { - return p.current -} - -// ClientListBySubscriptionPager provides operations for iterating over paged responses. -type ClientListBySubscriptionPager struct { - client *Client - current ClientListBySubscriptionResponse - err error - requester func(context.Context) (*policy.Request, error) - advancer func(context.Context, ClientListBySubscriptionResponse) (*policy.Request, error) -} - -// Err returns the last error encountered while paging. -func (p *ClientListBySubscriptionPager) Err() error { - return p.err -} - -// NextPage returns true if the pager advanced to the next page. -// Returns false if there are no more pages or an error occurred. -func (p *ClientListBySubscriptionPager) NextPage(ctx context.Context) bool { - var req *policy.Request - var err error - if !reflect.ValueOf(p.current).IsZero() { - if p.current.ListResult.NextLink == nil || len(*p.current.ListResult.NextLink) == 0 { - return false - } - req, err = p.advancer(ctx, p.current) - } else { - req, err = p.requester(ctx) - } - if err != nil { - p.err = err - return false - } - resp, err := p.client.pl.Do(req) - if err != nil { - p.err = err - return false - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - p.err = runtime.NewResponseError(resp) - return false - } - result, err := p.client.listBySubscriptionHandleResponse(resp) - if err != nil { - p.err = err - return false - } - p.current = result - return true -} - -// PageResponse returns the current ClientListBySubscriptionResponse page. -func (p *ClientListBySubscriptionPager) PageResponse() ClientListBySubscriptionResponse { - return p.current -} - -// TemplateSpecVersionsClientListPager provides operations for iterating over paged responses. -type TemplateSpecVersionsClientListPager struct { - client *TemplateSpecVersionsClient - current TemplateSpecVersionsClientListResponse - err error - requester func(context.Context) (*policy.Request, error) - advancer func(context.Context, TemplateSpecVersionsClientListResponse) (*policy.Request, error) -} - -// Err returns the last error encountered while paging. -func (p *TemplateSpecVersionsClientListPager) Err() error { - return p.err -} - -// NextPage returns true if the pager advanced to the next page. -// Returns false if there are no more pages or an error occurred. -func (p *TemplateSpecVersionsClientListPager) NextPage(ctx context.Context) bool { - var req *policy.Request - var err error - if !reflect.ValueOf(p.current).IsZero() { - if p.current.TemplateSpecVersionsListResult.NextLink == nil || len(*p.current.TemplateSpecVersionsListResult.NextLink) == 0 { - return false - } - req, err = p.advancer(ctx, p.current) - } else { - req, err = p.requester(ctx) - } - if err != nil { - p.err = err - return false - } - resp, err := p.client.pl.Do(req) - if err != nil { - p.err = err - return false - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - p.err = runtime.NewResponseError(resp) - return false - } - result, err := p.client.listHandleResponse(resp) - if err != nil { - p.err = err - return false - } - p.current = result - return true -} - -// PageResponse returns the current TemplateSpecVersionsClientListResponse page. -func (p *TemplateSpecVersionsClientListPager) PageResponse() TemplateSpecVersionsClientListResponse { - return p.current -} diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_response_types.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_response_types.go index 1ff93b07dfc6..8b94beceb060 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_response_types.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_response_types.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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. @@ -8,124 +8,77 @@ package armtemplatespecs -import "net/http" - // ClientCreateOrUpdateResponse contains the response from method Client.CreateOrUpdate. type ClientCreateOrUpdateResponse struct { - ClientCreateOrUpdateResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// ClientCreateOrUpdateResult contains the result from method Client.CreateOrUpdate. -type ClientCreateOrUpdateResult struct { TemplateSpec } // ClientDeleteResponse contains the response from method Client.Delete. type ClientDeleteResponse struct { - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response + // placeholder for future response values +} + +// ClientGetBuiltInResponse contains the response from method Client.GetBuiltIn. +type ClientGetBuiltInResponse struct { + TemplateSpec } // ClientGetResponse contains the response from method Client.Get. type ClientGetResponse struct { - ClientGetResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response + TemplateSpec } -// ClientGetResult contains the result from method Client.Get. -type ClientGetResult struct { - TemplateSpec +// ClientListBuiltInsResponse contains the response from method Client.ListBuiltIns. +type ClientListBuiltInsResponse struct { + ListResult } // ClientListByResourceGroupResponse contains the response from method Client.ListByResourceGroup. type ClientListByResourceGroupResponse struct { - ClientListByResourceGroupResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// ClientListByResourceGroupResult contains the result from method Client.ListByResourceGroup. -type ClientListByResourceGroupResult struct { ListResult } // ClientListBySubscriptionResponse contains the response from method Client.ListBySubscription. type ClientListBySubscriptionResponse struct { - ClientListBySubscriptionResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// ClientListBySubscriptionResult contains the result from method Client.ListBySubscription. -type ClientListBySubscriptionResult struct { ListResult } // ClientUpdateResponse contains the response from method Client.Update. type ClientUpdateResponse struct { - ClientUpdateResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// ClientUpdateResult contains the result from method Client.Update. -type ClientUpdateResult struct { TemplateSpec } // TemplateSpecVersionsClientCreateOrUpdateResponse contains the response from method TemplateSpecVersionsClient.CreateOrUpdate. type TemplateSpecVersionsClientCreateOrUpdateResponse struct { - TemplateSpecVersionsClientCreateOrUpdateResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// TemplateSpecVersionsClientCreateOrUpdateResult contains the result from method TemplateSpecVersionsClient.CreateOrUpdate. -type TemplateSpecVersionsClientCreateOrUpdateResult struct { TemplateSpecVersion } // TemplateSpecVersionsClientDeleteResponse contains the response from method TemplateSpecVersionsClient.Delete. type TemplateSpecVersionsClientDeleteResponse struct { - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response + // placeholder for future response values +} + +// TemplateSpecVersionsClientGetBuiltInResponse contains the response from method TemplateSpecVersionsClient.GetBuiltIn. +type TemplateSpecVersionsClientGetBuiltInResponse struct { + TemplateSpecVersion } // TemplateSpecVersionsClientGetResponse contains the response from method TemplateSpecVersionsClient.Get. type TemplateSpecVersionsClientGetResponse struct { - TemplateSpecVersionsClientGetResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response + TemplateSpecVersion } -// TemplateSpecVersionsClientGetResult contains the result from method TemplateSpecVersionsClient.Get. -type TemplateSpecVersionsClientGetResult struct { - TemplateSpecVersion +// TemplateSpecVersionsClientListBuiltInsResponse contains the response from method TemplateSpecVersionsClient.ListBuiltIns. +type TemplateSpecVersionsClientListBuiltInsResponse struct { + TemplateSpecVersionsListResult } // TemplateSpecVersionsClientListResponse contains the response from method TemplateSpecVersionsClient.List. type TemplateSpecVersionsClientListResponse struct { - TemplateSpecVersionsClientListResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// TemplateSpecVersionsClientListResult contains the result from method TemplateSpecVersionsClient.List. -type TemplateSpecVersionsClientListResult struct { TemplateSpecVersionsListResult } // TemplateSpecVersionsClientUpdateResponse contains the response from method TemplateSpecVersionsClient.Update. type TemplateSpecVersionsClientUpdateResponse struct { - TemplateSpecVersionsClientUpdateResult - // RawResponse contains the underlying HTTP response. - RawResponse *http.Response -} - -// TemplateSpecVersionsClientUpdateResult contains the result from method TemplateSpecVersionsClient.Update. -type TemplateSpecVersionsClientUpdateResult struct { TemplateSpecVersion } diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_templatespecversions_client.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_templatespecversions_client.go index b31f70cf9f4a..595322d08193 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_templatespecversions_client.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_templatespecversions_client.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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. @@ -14,6 +14,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore" "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" armruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" "net/http" @@ -33,20 +34,24 @@ type TemplateSpecVersionsClient struct { // subscriptionID - Subscription Id which forms part of the URI for every service call. // credential - used to authorize requests. Usually a credential from azidentity. // options - pass nil to accept the default values. -func NewTemplateSpecVersionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) *TemplateSpecVersionsClient { - cp := arm.ClientOptions{} - if options != nil { - cp = *options +func NewTemplateSpecVersionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*TemplateSpecVersionsClient, error) { + if options == nil { + options = &arm.ClientOptions{} } - if len(cp.Endpoint) == 0 { - cp.Endpoint = arm.AzurePublicCloud + ep := cloud.AzurePublicCloud.Services[cloud.ResourceManager].Endpoint + if c, ok := options.Cloud.Services[cloud.ResourceManager]; ok { + ep = c.Endpoint + } + pl, err := armruntime.NewPipeline(moduleName, moduleVersion, credential, runtime.PipelineOptions{}, options) + if err != nil { + return nil, err } client := &TemplateSpecVersionsClient{ subscriptionID: subscriptionID, - host: string(cp.Endpoint), - pl: armruntime.NewPipeline(moduleName, moduleVersion, credential, runtime.PipelineOptions{}, &cp), + host: ep, + pl: pl, } - return client + return client, nil } // CreateOrUpdate - Creates or updates a Template Spec version. @@ -96,7 +101,7 @@ func (client *TemplateSpecVersionsClient) createOrUpdateCreateRequest(ctx contex return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, runtime.MarshalAsJSON(req, templateSpecVersionModel) @@ -104,7 +109,7 @@ func (client *TemplateSpecVersionsClient) createOrUpdateCreateRequest(ctx contex // createOrUpdateHandleResponse handles the CreateOrUpdate response. func (client *TemplateSpecVersionsClient) createOrUpdateHandleResponse(resp *http.Response) (TemplateSpecVersionsClientCreateOrUpdateResponse, error) { - result := TemplateSpecVersionsClientCreateOrUpdateResponse{RawResponse: resp} + result := TemplateSpecVersionsClientCreateOrUpdateResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersion); err != nil { return TemplateSpecVersionsClientCreateOrUpdateResponse{}, err } @@ -130,7 +135,7 @@ func (client *TemplateSpecVersionsClient) Delete(ctx context.Context, resourceGr if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusNoContent) { return TemplateSpecVersionsClientDeleteResponse{}, runtime.NewResponseError(resp) } - return TemplateSpecVersionsClientDeleteResponse{RawResponse: resp}, nil + return TemplateSpecVersionsClientDeleteResponse{}, nil } // deleteCreateRequest creates the Delete request. @@ -157,7 +162,7 @@ func (client *TemplateSpecVersionsClient) deleteCreateRequest(ctx context.Contex return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -209,7 +214,7 @@ func (client *TemplateSpecVersionsClient) getCreateRequest(ctx context.Context, return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -217,29 +222,97 @@ func (client *TemplateSpecVersionsClient) getCreateRequest(ctx context.Context, // getHandleResponse handles the Get response. func (client *TemplateSpecVersionsClient) getHandleResponse(resp *http.Response) (TemplateSpecVersionsClientGetResponse, error) { - result := TemplateSpecVersionsClientGetResponse{RawResponse: resp} + result := TemplateSpecVersionsClientGetResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersion); err != nil { return TemplateSpecVersionsClientGetResponse{}, err } return result, nil } +// GetBuiltIn - Gets a Template Spec version from a specific built-in Template Spec. +// If the operation fails it returns an *azcore.ResponseError type. +// templateSpecName - Name of the Template Spec. +// templateSpecVersion - The version of the Template Spec. +// options - TemplateSpecVersionsClientGetBuiltInOptions contains the optional parameters for the TemplateSpecVersionsClient.GetBuiltIn +// method. +func (client *TemplateSpecVersionsClient) GetBuiltIn(ctx context.Context, templateSpecName string, templateSpecVersion string, options *TemplateSpecVersionsClientGetBuiltInOptions) (TemplateSpecVersionsClientGetBuiltInResponse, error) { + req, err := client.getBuiltInCreateRequest(ctx, templateSpecName, templateSpecVersion, options) + if err != nil { + return TemplateSpecVersionsClientGetBuiltInResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return TemplateSpecVersionsClientGetBuiltInResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return TemplateSpecVersionsClientGetBuiltInResponse{}, runtime.NewResponseError(resp) + } + return client.getBuiltInHandleResponse(resp) +} + +// getBuiltInCreateRequest creates the GetBuiltIn request. +func (client *TemplateSpecVersionsClient) getBuiltInCreateRequest(ctx context.Context, templateSpecName string, templateSpecVersion string, options *TemplateSpecVersionsClientGetBuiltInOptions) (*policy.Request, error) { + urlPath := "/providers/Microsoft.Resources/builtInTemplateSpecs/{templateSpecName}/versions/{templateSpecVersion}" + if templateSpecName == "" { + return nil, errors.New("parameter templateSpecName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{templateSpecName}", url.PathEscape(templateSpecName)) + if templateSpecVersion == "" { + return nil, errors.New("parameter templateSpecVersion cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{templateSpecVersion}", url.PathEscape(templateSpecVersion)) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2022-02-01") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header.Set("Accept", "application/json") + return req, nil +} + +// getBuiltInHandleResponse handles the GetBuiltIn response. +func (client *TemplateSpecVersionsClient) getBuiltInHandleResponse(resp *http.Response) (TemplateSpecVersionsClientGetBuiltInResponse, error) { + result := TemplateSpecVersionsClientGetBuiltInResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersion); err != nil { + return TemplateSpecVersionsClientGetBuiltInResponse{}, err + } + return result, nil +} + // List - Lists all the Template Spec versions in the specified Template Spec. // If the operation fails it returns an *azcore.ResponseError type. // resourceGroupName - The name of the resource group. The name is case insensitive. // templateSpecName - Name of the Template Spec. // options - TemplateSpecVersionsClientListOptions contains the optional parameters for the TemplateSpecVersionsClient.List // method. -func (client *TemplateSpecVersionsClient) List(resourceGroupName string, templateSpecName string, options *TemplateSpecVersionsClientListOptions) *TemplateSpecVersionsClientListPager { - return &TemplateSpecVersionsClientListPager{ - client: client, - requester: func(ctx context.Context) (*policy.Request, error) { - return client.listCreateRequest(ctx, resourceGroupName, templateSpecName, options) +func (client *TemplateSpecVersionsClient) List(resourceGroupName string, templateSpecName string, options *TemplateSpecVersionsClientListOptions) *runtime.Pager[TemplateSpecVersionsClientListResponse] { + return runtime.NewPager(runtime.PageProcessor[TemplateSpecVersionsClientListResponse]{ + More: func(page TemplateSpecVersionsClientListResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 }, - advancer: func(ctx context.Context, resp TemplateSpecVersionsClientListResponse) (*policy.Request, error) { - return runtime.NewRequest(ctx, http.MethodGet, *resp.TemplateSpecVersionsListResult.NextLink) + Fetcher: func(ctx context.Context, page *TemplateSpecVersionsClientListResponse) (TemplateSpecVersionsClientListResponse, error) { + var req *policy.Request + var err error + if page == nil { + req, err = client.listCreateRequest(ctx, resourceGroupName, templateSpecName, options) + } else { + req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + } + if err != nil { + return TemplateSpecVersionsClientListResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return TemplateSpecVersionsClientListResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return TemplateSpecVersionsClientListResponse{}, runtime.NewResponseError(resp) + } + return client.listHandleResponse(resp) }, - } + }) } // listCreateRequest creates the List request. @@ -262,7 +335,7 @@ func (client *TemplateSpecVersionsClient) listCreateRequest(ctx context.Context, return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") return req, nil @@ -270,13 +343,73 @@ func (client *TemplateSpecVersionsClient) listCreateRequest(ctx context.Context, // listHandleResponse handles the List response. func (client *TemplateSpecVersionsClient) listHandleResponse(resp *http.Response) (TemplateSpecVersionsClientListResponse, error) { - result := TemplateSpecVersionsClientListResponse{RawResponse: resp} + result := TemplateSpecVersionsClientListResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersionsListResult); err != nil { return TemplateSpecVersionsClientListResponse{}, err } return result, nil } +// ListBuiltIns - Lists all the Template Spec versions in the specified built-in Template Spec. +// If the operation fails it returns an *azcore.ResponseError type. +// templateSpecName - Name of the Template Spec. +// options - TemplateSpecVersionsClientListBuiltInsOptions contains the optional parameters for the TemplateSpecVersionsClient.ListBuiltIns +// method. +func (client *TemplateSpecVersionsClient) ListBuiltIns(templateSpecName string, options *TemplateSpecVersionsClientListBuiltInsOptions) *runtime.Pager[TemplateSpecVersionsClientListBuiltInsResponse] { + return runtime.NewPager(runtime.PageProcessor[TemplateSpecVersionsClientListBuiltInsResponse]{ + More: func(page TemplateSpecVersionsClientListBuiltInsResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 + }, + Fetcher: func(ctx context.Context, page *TemplateSpecVersionsClientListBuiltInsResponse) (TemplateSpecVersionsClientListBuiltInsResponse, error) { + var req *policy.Request + var err error + if page == nil { + req, err = client.listBuiltInsCreateRequest(ctx, templateSpecName, options) + } else { + req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + } + if err != nil { + return TemplateSpecVersionsClientListBuiltInsResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return TemplateSpecVersionsClientListBuiltInsResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return TemplateSpecVersionsClientListBuiltInsResponse{}, runtime.NewResponseError(resp) + } + return client.listBuiltInsHandleResponse(resp) + }, + }) +} + +// listBuiltInsCreateRequest creates the ListBuiltIns request. +func (client *TemplateSpecVersionsClient) listBuiltInsCreateRequest(ctx context.Context, templateSpecName string, options *TemplateSpecVersionsClientListBuiltInsOptions) (*policy.Request, error) { + urlPath := "/providers/Microsoft.Resources/builtInTemplateSpecs/{templateSpecName}/versions" + if templateSpecName == "" { + return nil, errors.New("parameter templateSpecName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{templateSpecName}", url.PathEscape(templateSpecName)) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2022-02-01") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header.Set("Accept", "application/json") + return req, nil +} + +// listBuiltInsHandleResponse handles the ListBuiltIns response. +func (client *TemplateSpecVersionsClient) listBuiltInsHandleResponse(resp *http.Response) (TemplateSpecVersionsClientListBuiltInsResponse, error) { + result := TemplateSpecVersionsClientListBuiltInsResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersionsListResult); err != nil { + return TemplateSpecVersionsClientListBuiltInsResponse{}, err + } + return result, nil +} + // Update - Updates Template Spec Version tags with specified values. // If the operation fails it returns an *azcore.ResponseError type. // resourceGroupName - The name of the resource group. The name is case insensitive. @@ -323,7 +456,7 @@ func (client *TemplateSpecVersionsClient) updateCreateRequest(ctx context.Contex return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2021-05-01") + reqQP.Set("api-version", "2022-02-01") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header.Set("Accept", "application/json") if options != nil && options.TemplateSpecVersionUpdateModel != nil { @@ -334,7 +467,7 @@ func (client *TemplateSpecVersionsClient) updateCreateRequest(ctx context.Contex // updateHandleResponse handles the Update response. func (client *TemplateSpecVersionsClient) updateHandleResponse(resp *http.Response) (TemplateSpecVersionsClientUpdateResponse, error) { - result := TemplateSpecVersionsClientUpdateResponse{RawResponse: resp} + result := TemplateSpecVersionsClientUpdateResponse{} if err := runtime.UnmarshalAsJSON(resp, &result.TemplateSpecVersion); err != nil { return TemplateSpecVersionsClientUpdateResponse{}, err } diff --git a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_time_rfc3339.go b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_time_rfc3339.go index 1f495c19bfac..d2c0a5d3afbe 100644 --- a/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_time_rfc3339.go +++ b/sdk/resourcemanager/resources/armtemplatespecs/zz_generated_time_rfc3339.go @@ -1,5 +1,5 @@ -//go:build go1.16 -// +build go1.16 +//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.