From 01a9cc257a1039616de9d6aa7fa6800648643e18 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 20 Feb 2023 07:03:55 +0000 Subject: [PATCH] CodeGen from PR 22325 in Azure/azure-rest-api-specs Merge 5c5e62533d9a7d116decfae5a7ef9bf66d88d1c4 into 2f545bf51d046c377a7957a7c53e1d260c9d7343 --- .../armconfidentialledger/CHANGELOG.md | 27 + .../armconfidentialledger/autorest.md | 6 +- .../{zz_generated_client.go => client.go} | 16 +- ...zz_generated_constants.go => constants.go} | 41 +- .../armconfidentialledger/go.mod | 16 +- .../armconfidentialledger/go.sum | 24 +- ...ated_ledger_client.go => ledger_client.go} | 86 +- .../managedccf_client.go | 440 +++++++++ .../{zz_generated_models.go => models.go} | 182 +++- .../armconfidentialledger/models_serde.go | 898 ++++++++++++++++++ ...rations_client.go => operations_client.go} | 13 +- ...ed_response_types.go => response_types.go} | 43 +- ...erated_time_rfc3339.go => time_rfc3339.go} | 3 +- ..._example_confidentialledger_client_test.go | 42 - ...ze_generated_example_ledger_client_test.go | 206 ---- ...enerated_example_operations_client_test.go | 41 - .../zz_generated_models_serde.go | 117 --- 17 files changed, 1678 insertions(+), 523 deletions(-) rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_client.go => client.go} (87%) rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_constants.go => constants.go} (76%) rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_ledger_client.go => ledger_client.go} (87%) create mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/managedccf_client.go rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_models.go => models.go} (56%) create mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/models_serde.go rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_operations_client.go => operations_client.go} (90%) rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_response_types.go => response_types.go} (53%) rename sdk/resourcemanager/confidentialledger/armconfidentialledger/{zz_generated_time_rfc3339.go => time_rfc3339.go} (96%) delete mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_confidentialledger_client_test.go delete mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_ledger_client_test.go delete mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_operations_client_test.go delete mode 100644 sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models_serde.go diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/CHANGELOG.md b/sdk/resourcemanager/confidentialledger/armconfidentialledger/CHANGELOG.md index 2544021b781e..1008f25f45a1 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/CHANGELOG.md +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/CHANGELOG.md @@ -1,5 +1,32 @@ # Release History +## 2.0.0-beta.1 (2023-02-20) +### Breaking Changes + +- Struct `ResourceLocation` has been removed + +### Features Added + +- New type alias `LanguageRuntime` with values `LanguageRuntimeCPP`, `LanguageRuntimeJS` +- New type alias `RunningState` with values `RunningStateActive`, `RunningStatePaused`, `RunningStatePausing`, `RunningStateResuming`, `RunningStateUnknown` +- New function `NewManagedCCFClient(string, azcore.TokenCredential, *arm.ClientOptions) (*ManagedCCFClient, error)` +- New function `*ManagedCCFClient.BeginCreate(context.Context, string, string, ManagedCCF, *ManagedCCFClientBeginCreateOptions) (*runtime.Poller[ManagedCCFClientCreateResponse], error)` +- New function `*ManagedCCFClient.BeginDelete(context.Context, string, string, *ManagedCCFClientBeginDeleteOptions) (*runtime.Poller[ManagedCCFClientDeleteResponse], error)` +- New function `*ManagedCCFClient.Get(context.Context, string, string, *ManagedCCFClientGetOptions) (ManagedCCFClientGetResponse, error)` +- New function `*ManagedCCFClient.NewListByResourceGroupPager(string, *ManagedCCFClientListByResourceGroupOptions) *runtime.Pager[ManagedCCFClientListByResourceGroupResponse]` +- New function `*ManagedCCFClient.NewListBySubscriptionPager(*ManagedCCFClientListBySubscriptionOptions) *runtime.Pager[ManagedCCFClientListBySubscriptionResponse]` +- New function `*ManagedCCFClient.BeginUpdate(context.Context, string, string, ManagedCCF, *ManagedCCFClientBeginUpdateOptions) (*runtime.Poller[ManagedCCFClientUpdateResponse], error)` +- New struct `CertificateTags` +- New struct `DeploymentType` +- New struct `ManagedCCF` +- New struct `ManagedCCFClient` +- New struct `ManagedCCFList` +- New struct `ManagedCCFProperties` +- New struct `MemberIdentityCertificate` +- New struct `TrackedResource` +- New field `RunningState` in struct `ConfidentialLedger` + + ## 1.0.0 (2022-05-24) The package of `github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger` is using our [next generation design principles](https://azure.github.io/azure-sdk/general_introduction.html) since version 1.0.0, which contains breaking changes. diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/autorest.md b/sdk/resourcemanager/confidentialledger/armconfidentialledger/autorest.md index e8d821d61cf6..4d05b36f8e13 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/autorest.md +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/autorest.md @@ -5,9 +5,9 @@ ``` yaml azure-arm: true require: -- https://github.com/Azure/azure-rest-api-specs/blob/792db17291c758b2bfdbbc0d35d0e2f5b5a1bd05/specification/confidentialledger/resource-manager/readme.md -- https://github.com/Azure/azure-rest-api-specs/blob/792db17291c758b2bfdbbc0d35d0e2f5b5a1bd05/specification/confidentialledger/resource-manager/readme.go.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/confidentialledger/resource-manager/readme.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/confidentialledger/resource-manager/readme.go.md license-header: MICROSOFT_MIT_NO_VERSION -module-version: 1.0.0 +module-version: 2.0.0-beta.1 ``` \ No newline at end of file diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_client.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/client.go similarity index 87% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_client.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/client.go index 2d29769ea077..12b3440a9573 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_client.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/client.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -31,9 +32,9 @@ type Client struct { } // NewClient creates a new instance of Client with the specified values. -// subscriptionID - The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) -// credential - used to authorize requests. Usually a credential from azidentity. -// options - pass nil to accept the default values. +// - subscriptionID - The ID of the target subscription. +// - 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, error) { if options == nil { options = &arm.ClientOptions{} @@ -56,9 +57,10 @@ func NewClient(subscriptionID string, credential azcore.TokenCredential, options // CheckNameAvailability - To check whether a resource name is available. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// nameAvailabilityRequest - Name availability request payload. -// options - ClientCheckNameAvailabilityOptions contains the optional parameters for the Client.CheckNameAvailability method. +// +// Generated from API version 2023-01-26-preview +// - nameAvailabilityRequest - Name availability request payload. +// - options - ClientCheckNameAvailabilityOptions contains the optional parameters for the Client.CheckNameAvailability method. func (client *Client) CheckNameAvailability(ctx context.Context, nameAvailabilityRequest CheckNameAvailabilityRequest, options *ClientCheckNameAvailabilityOptions) (ClientCheckNameAvailabilityResponse, error) { req, err := client.checkNameAvailabilityCreateRequest(ctx, nameAvailabilityRequest, options) if err != nil { @@ -86,7 +88,7 @@ func (client *Client) checkNameAvailabilityCreateRequest(ctx context.Context, na return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, runtime.MarshalAsJSON(req, nameAvailabilityRequest) diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_constants.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/constants.go similarity index 76% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_constants.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/constants.go index 7ddb488fb6f0..96e69cb1f437 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_constants.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/constants.go @@ -5,12 +5,13 @@ // 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. +// DO NOT EDIT. package armconfidentialledger const ( moduleName = "armconfidentialledger" - moduleVersion = "v1.0.0" + moduleVersion = "v2.0.0-beta.1" ) // CheckNameAvailabilityReason - The reason why the given name is not available. @@ -49,6 +50,22 @@ func PossibleCreatedByTypeValues() []CreatedByType { } } +// LanguageRuntime - Object representing LanguageRuntime for Manged CCF. +type LanguageRuntime string + +const ( + LanguageRuntimeCPP LanguageRuntime = "CPP" + LanguageRuntimeJS LanguageRuntime = "JS" +) + +// PossibleLanguageRuntimeValues returns the possible values for the LanguageRuntime const type. +func PossibleLanguageRuntimeValues() []LanguageRuntime { + return []LanguageRuntime{ + LanguageRuntimeCPP, + LanguageRuntimeJS, + } +} + // LedgerRoleName - LedgerRole associated with the Security Principal of Ledger type LedgerRoleName string @@ -110,3 +127,25 @@ func PossibleProvisioningStateValues() []ProvisioningState { ProvisioningStateUpdating, } } + +// RunningState - Object representing RunningState for Confidential Ledger. +type RunningState string + +const ( + RunningStateActive RunningState = "Active" + RunningStatePaused RunningState = "Paused" + RunningStatePausing RunningState = "Pausing" + RunningStateResuming RunningState = "Resuming" + RunningStateUnknown RunningState = "Unknown" +) + +// PossibleRunningStateValues returns the possible values for the RunningState const type. +func PossibleRunningStateValues() []RunningState { + return []RunningState{ + RunningStateActive, + RunningStatePaused, + RunningStatePausing, + RunningStateResuming, + RunningStateUnknown, + } +} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.mod b/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.mod index 4b5b4ae0e2c6..47f75c561660 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.mod +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.mod @@ -1,21 +1,13 @@ -module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger +module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger/v2 go 1.18 -require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 -) +require github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v0.4.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 - golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect - golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect golang.org/x/text v0.3.7 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.sum b/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.sum index ed5b814680ee..3afb578030a5 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.sum +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/go.sum @@ -1,33 +1,15 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 h1:sVPhtT2qjO86rTUaWMr4WoES4TkjGnzcioXcnHV9s5k= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 h1:Yoicul8bnVdQrhDMTHxdEckRGX01XvwXDHUT9zYZ3k0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= -github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= -github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= -github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= -github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= -github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= -github.com/google/uuid v1.1.1/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/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= -github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= -github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 h1:Tgea0cVUD0ivh5ADBX4WwuI12DUd2to3nCYe2eayMIw= -golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 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= diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_ledger_client.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/ledger_client.go similarity index 87% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_ledger_client.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/ledger_client.go index 4d5d842c018e..aa9d5600b4cf 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_ledger_client.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/ledger_client.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -31,9 +32,9 @@ type LedgerClient struct { } // NewLedgerClient creates a new instance of LedgerClient with the specified values. -// subscriptionID - The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) -// credential - used to authorize requests. Usually a credential from azidentity. -// options - pass nil to accept the default values. +// - subscriptionID - The ID of the target subscription. +// - credential - used to authorize requests. Usually a credential from azidentity. +// - options - pass nil to accept the default values. func NewLedgerClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LedgerClient, error) { if options == nil { options = &arm.ClientOptions{} @@ -56,11 +57,12 @@ func NewLedgerClient(subscriptionID string, credential azcore.TokenCredential, o // BeginCreate - Creates a Confidential Ledger with the specified ledger parameters. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// resourceGroupName - The name of the resource group. -// ledgerName - Name of the Confidential Ledger -// confidentialLedger - Confidential Ledger Create Request Body -// options - LedgerClientBeginCreateOptions contains the optional parameters for the LedgerClient.BeginCreate method. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - ledgerName - Name of the Confidential Ledger +// - confidentialLedger - Confidential Ledger Create Request Body +// - options - LedgerClientBeginCreateOptions contains the optional parameters for the LedgerClient.BeginCreate method. func (client *LedgerClient) BeginCreate(ctx context.Context, resourceGroupName string, ledgerName string, confidentialLedger ConfidentialLedger, options *LedgerClientBeginCreateOptions) (*runtime.Poller[LedgerClientCreateResponse], error) { if options == nil || options.ResumeToken == "" { resp, err := client.create(ctx, resourceGroupName, ledgerName, confidentialLedger, options) @@ -77,7 +79,8 @@ func (client *LedgerClient) BeginCreate(ctx context.Context, resourceGroupName s // Create - Creates a Confidential Ledger with the specified ledger parameters. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 +// +// Generated from API version 2023-01-26-preview func (client *LedgerClient) create(ctx context.Context, resourceGroupName string, ledgerName string, confidentialLedger ConfidentialLedger, options *LedgerClientBeginCreateOptions) (*http.Response, error) { req, err := client.createCreateRequest(ctx, resourceGroupName, ledgerName, confidentialLedger, options) if err != nil { @@ -113,7 +116,7 @@ func (client *LedgerClient) createCreateRequest(ctx context.Context, resourceGro return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, runtime.MarshalAsJSON(req, confidentialLedger) @@ -121,10 +124,11 @@ func (client *LedgerClient) createCreateRequest(ctx context.Context, resourceGro // BeginDelete - Deletes an existing Confidential Ledger. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// resourceGroupName - The name of the resource group. -// ledgerName - Name of the Confidential Ledger -// options - LedgerClientBeginDeleteOptions contains the optional parameters for the LedgerClient.BeginDelete method. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - ledgerName - Name of the Confidential Ledger +// - options - LedgerClientBeginDeleteOptions contains the optional parameters for the LedgerClient.BeginDelete method. func (client *LedgerClient) BeginDelete(ctx context.Context, resourceGroupName string, ledgerName string, options *LedgerClientBeginDeleteOptions) (*runtime.Poller[LedgerClientDeleteResponse], error) { if options == nil || options.ResumeToken == "" { resp, err := client.deleteOperation(ctx, resourceGroupName, ledgerName, options) @@ -139,7 +143,8 @@ func (client *LedgerClient) BeginDelete(ctx context.Context, resourceGroupName s // Delete - Deletes an existing Confidential Ledger. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 +// +// Generated from API version 2023-01-26-preview func (client *LedgerClient) deleteOperation(ctx context.Context, resourceGroupName string, ledgerName string, options *LedgerClientBeginDeleteOptions) (*http.Response, error) { req, err := client.deleteCreateRequest(ctx, resourceGroupName, ledgerName, options) if err != nil { @@ -175,7 +180,7 @@ func (client *LedgerClient) deleteCreateRequest(ctx context.Context, resourceGro return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil @@ -183,10 +188,11 @@ func (client *LedgerClient) deleteCreateRequest(ctx context.Context, resourceGro // Get - Retrieves the properties of a Confidential Ledger. // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// resourceGroupName - The name of the resource group. -// ledgerName - Name of the Confidential Ledger -// options - LedgerClientGetOptions contains the optional parameters for the LedgerClient.Get method. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - ledgerName - Name of the Confidential Ledger +// - options - LedgerClientGetOptions contains the optional parameters for the LedgerClient.Get method. func (client *LedgerClient) Get(ctx context.Context, resourceGroupName string, ledgerName string, options *LedgerClientGetOptions) (LedgerClientGetResponse, error) { req, err := client.getCreateRequest(ctx, resourceGroupName, ledgerName, options) if err != nil { @@ -222,7 +228,7 @@ func (client *LedgerClient) getCreateRequest(ctx context.Context, resourceGroupN return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil @@ -238,11 +244,11 @@ func (client *LedgerClient) getHandleResponse(resp *http.Response) (LedgerClient } // NewListByResourceGroupPager - Retrieves the properties of all Confidential Ledgers. -// If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// resourceGroupName - The name of the resource group. -// options - LedgerClientListByResourceGroupOptions contains the optional parameters for the LedgerClient.ListByResourceGroup -// method. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - options - LedgerClientListByResourceGroupOptions contains the optional parameters for the LedgerClient.NewListByResourceGroupPager +// method. func (client *LedgerClient) NewListByResourceGroupPager(resourceGroupName string, options *LedgerClientListByResourceGroupOptions) *runtime.Pager[LedgerClientListByResourceGroupResponse] { return runtime.NewPager(runtime.PagingHandler[LedgerClientListByResourceGroupResponse]{ More: func(page LedgerClientListByResourceGroupResponse) bool { @@ -287,7 +293,7 @@ func (client *LedgerClient) listByResourceGroupCreateRequest(ctx context.Context return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") if options != nil && options.Filter != nil { reqQP.Set("$filter", *options.Filter) } @@ -306,10 +312,10 @@ func (client *LedgerClient) listByResourceGroupHandleResponse(resp *http.Respons } // NewListBySubscriptionPager - Retrieves the properties of all Confidential Ledgers. -// If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// options - LedgerClientListBySubscriptionOptions contains the optional parameters for the LedgerClient.ListBySubscription -// method. +// +// Generated from API version 2023-01-26-preview +// - options - LedgerClientListBySubscriptionOptions contains the optional parameters for the LedgerClient.NewListBySubscriptionPager +// method. func (client *LedgerClient) NewListBySubscriptionPager(options *LedgerClientListBySubscriptionOptions) *runtime.Pager[LedgerClientListBySubscriptionResponse] { return runtime.NewPager(runtime.PagingHandler[LedgerClientListBySubscriptionResponse]{ More: func(page LedgerClientListBySubscriptionResponse) bool { @@ -350,7 +356,7 @@ func (client *LedgerClient) listBySubscriptionCreateRequest(ctx context.Context, return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") if options != nil && options.Filter != nil { reqQP.Set("$filter", *options.Filter) } @@ -370,11 +376,12 @@ func (client *LedgerClient) listBySubscriptionHandleResponse(resp *http.Response // BeginUpdate - Updates properties of Confidential Ledger // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// resourceGroupName - The name of the resource group. -// ledgerName - Name of the Confidential Ledger -// confidentialLedger - Confidential Ledger request body for Updating Ledger -// options - LedgerClientBeginUpdateOptions contains the optional parameters for the LedgerClient.BeginUpdate method. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - ledgerName - Name of the Confidential Ledger +// - confidentialLedger - Confidential Ledger request body for Updating Ledger +// - options - LedgerClientBeginUpdateOptions contains the optional parameters for the LedgerClient.BeginUpdate method. func (client *LedgerClient) BeginUpdate(ctx context.Context, resourceGroupName string, ledgerName string, confidentialLedger ConfidentialLedger, options *LedgerClientBeginUpdateOptions) (*runtime.Poller[LedgerClientUpdateResponse], error) { if options == nil || options.ResumeToken == "" { resp, err := client.update(ctx, resourceGroupName, ledgerName, confidentialLedger, options) @@ -389,7 +396,8 @@ func (client *LedgerClient) BeginUpdate(ctx context.Context, resourceGroupName s // Update - Updates properties of Confidential Ledger // If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 +// +// Generated from API version 2023-01-26-preview func (client *LedgerClient) update(ctx context.Context, resourceGroupName string, ledgerName string, confidentialLedger ConfidentialLedger, options *LedgerClientBeginUpdateOptions) (*http.Response, error) { req, err := client.updateCreateRequest(ctx, resourceGroupName, ledgerName, confidentialLedger, options) if err != nil { @@ -425,7 +433,7 @@ func (client *LedgerClient) updateCreateRequest(ctx context.Context, resourceGro return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, runtime.MarshalAsJSON(req, confidentialLedger) diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/managedccf_client.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/managedccf_client.go new file mode 100644 index 000000000000..33855ceb38b8 --- /dev/null +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/managedccf_client.go @@ -0,0 +1,440 @@ +//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. +// DO NOT EDIT. + +package armconfidentialledger + +import ( + "context" + "errors" + "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" + "net/url" + "strings" +) + +// ManagedCCFClient contains the methods for the ManagedCCF group. +// Don't use this type directly, use NewManagedCCFClient() instead. +type ManagedCCFClient struct { + host string + subscriptionID string + pl runtime.Pipeline +} + +// NewManagedCCFClient creates a new instance of ManagedCCFClient with the specified values. +// - subscriptionID - The ID of the target subscription. +// - credential - used to authorize requests. Usually a credential from azidentity. +// - options - pass nil to accept the default values. +func NewManagedCCFClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedCCFClient, error) { + if options == nil { + options = &arm.ClientOptions{} + } + ep := cloud.AzurePublic.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 := &ManagedCCFClient{ + subscriptionID: subscriptionID, + host: ep, + pl: pl, + } + return client, nil +} + +// BeginCreate - Creates a Managed CCF with the specified Managed CCF parameters. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - appName - Name of the Managed CCF +// - managedCCF - Managed CCF Create Request Body +// - options - ManagedCCFClientBeginCreateOptions contains the optional parameters for the ManagedCCFClient.BeginCreate method. +func (client *ManagedCCFClient) BeginCreate(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginCreateOptions) (*runtime.Poller[ManagedCCFClientCreateResponse], error) { + if options == nil || options.ResumeToken == "" { + resp, err := client.create(ctx, resourceGroupName, appName, managedCCF, options) + if err != nil { + return nil, err + } + return runtime.NewPoller(resp, client.pl, &runtime.NewPollerOptions[ManagedCCFClientCreateResponse]{ + FinalStateVia: runtime.FinalStateViaAzureAsyncOp, + }) + } else { + return runtime.NewPollerFromResumeToken[ManagedCCFClientCreateResponse](options.ResumeToken, client.pl, nil) + } +} + +// Create - Creates a Managed CCF with the specified Managed CCF parameters. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +func (client *ManagedCCFClient) create(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginCreateOptions) (*http.Response, error) { + req, err := client.createCreateRequest(ctx, resourceGroupName, appName, managedCCF, options) + if err != nil { + return nil, err + } + resp, err := client.pl.Do(req) + if err != nil { + return nil, err + } + if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusCreated) { + return nil, runtime.NewResponseError(resp) + } + return resp, nil +} + +// createCreateRequest creates the Create request. +func (client *ManagedCCFClient) createCreateRequest(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginCreateOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if appName == "" { + return nil, errors.New("parameter appName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{appName}", url.PathEscape(appName)) + req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-01-26-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, runtime.MarshalAsJSON(req, managedCCF) +} + +// BeginDelete - Deletes an existing Managed CCF. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - appName - Name of the Managed CCF +// - options - ManagedCCFClientBeginDeleteOptions contains the optional parameters for the ManagedCCFClient.BeginDelete method. +func (client *ManagedCCFClient) BeginDelete(ctx context.Context, resourceGroupName string, appName string, options *ManagedCCFClientBeginDeleteOptions) (*runtime.Poller[ManagedCCFClientDeleteResponse], error) { + if options == nil || options.ResumeToken == "" { + resp, err := client.deleteOperation(ctx, resourceGroupName, appName, options) + if err != nil { + return nil, err + } + return runtime.NewPoller[ManagedCCFClientDeleteResponse](resp, client.pl, nil) + } else { + return runtime.NewPollerFromResumeToken[ManagedCCFClientDeleteResponse](options.ResumeToken, client.pl, nil) + } +} + +// Delete - Deletes an existing Managed CCF. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +func (client *ManagedCCFClient) deleteOperation(ctx context.Context, resourceGroupName string, appName string, options *ManagedCCFClientBeginDeleteOptions) (*http.Response, error) { + req, err := client.deleteCreateRequest(ctx, resourceGroupName, appName, options) + if err != nil { + return nil, err + } + resp, err := client.pl.Do(req) + if err != nil { + return nil, err + } + if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) { + return nil, runtime.NewResponseError(resp) + } + return resp, nil +} + +// deleteCreateRequest creates the Delete request. +func (client *ManagedCCFClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, appName string, options *ManagedCCFClientBeginDeleteOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if appName == "" { + return nil, errors.New("parameter appName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{appName}", url.PathEscape(appName)) + req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-01-26-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// Get - Retrieves the properties of a Managed CCF app. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - appName - Name of the Managed CCF +// - options - ManagedCCFClientGetOptions contains the optional parameters for the ManagedCCFClient.Get method. +func (client *ManagedCCFClient) Get(ctx context.Context, resourceGroupName string, appName string, options *ManagedCCFClientGetOptions) (ManagedCCFClientGetResponse, error) { + req, err := client.getCreateRequest(ctx, resourceGroupName, appName, options) + if err != nil { + return ManagedCCFClientGetResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ManagedCCFClientGetResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ManagedCCFClientGetResponse{}, runtime.NewResponseError(resp) + } + return client.getHandleResponse(resp) +} + +// getCreateRequest creates the Get request. +func (client *ManagedCCFClient) getCreateRequest(ctx context.Context, resourceGroupName string, appName string, options *ManagedCCFClientGetOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if appName == "" { + return nil, errors.New("parameter appName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{appName}", url.PathEscape(appName)) + 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", "2023-01-26-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// getHandleResponse handles the Get response. +func (client *ManagedCCFClient) getHandleResponse(resp *http.Response) (ManagedCCFClientGetResponse, error) { + result := ManagedCCFClientGetResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.ManagedCCF); err != nil { + return ManagedCCFClientGetResponse{}, err + } + return result, nil +} + +// NewListByResourceGroupPager - Retrieves the properties of all Managed CCF apps. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - options - ManagedCCFClientListByResourceGroupOptions contains the optional parameters for the ManagedCCFClient.NewListByResourceGroupPager +// method. +func (client *ManagedCCFClient) NewListByResourceGroupPager(resourceGroupName string, options *ManagedCCFClientListByResourceGroupOptions) *runtime.Pager[ManagedCCFClientListByResourceGroupResponse] { + return runtime.NewPager(runtime.PagingHandler[ManagedCCFClientListByResourceGroupResponse]{ + More: func(page ManagedCCFClientListByResourceGroupResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 + }, + Fetcher: func(ctx context.Context, page *ManagedCCFClientListByResourceGroupResponse) (ManagedCCFClientListByResourceGroupResponse, 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 ManagedCCFClientListByResourceGroupResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ManagedCCFClientListByResourceGroupResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ManagedCCFClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) + } + return client.listByResourceGroupHandleResponse(resp) + }, + }) +} + +// listByResourceGroupCreateRequest creates the ListByResourceGroup request. +func (client *ManagedCCFClient) listByResourceGroupCreateRequest(ctx context.Context, resourceGroupName string, options *ManagedCCFClientListByResourceGroupOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + 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", "2023-01-26-preview") + if options != nil && options.Filter != nil { + reqQP.Set("$filter", *options.Filter) + } + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// listByResourceGroupHandleResponse handles the ListByResourceGroup response. +func (client *ManagedCCFClient) listByResourceGroupHandleResponse(resp *http.Response) (ManagedCCFClientListByResourceGroupResponse, error) { + result := ManagedCCFClientListByResourceGroupResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.ManagedCCFList); err != nil { + return ManagedCCFClientListByResourceGroupResponse{}, err + } + return result, nil +} + +// NewListBySubscriptionPager - Retrieves the properties of all Managed CCF. +// +// Generated from API version 2023-01-26-preview +// - options - ManagedCCFClientListBySubscriptionOptions contains the optional parameters for the ManagedCCFClient.NewListBySubscriptionPager +// method. +func (client *ManagedCCFClient) NewListBySubscriptionPager(options *ManagedCCFClientListBySubscriptionOptions) *runtime.Pager[ManagedCCFClientListBySubscriptionResponse] { + return runtime.NewPager(runtime.PagingHandler[ManagedCCFClientListBySubscriptionResponse]{ + More: func(page ManagedCCFClientListBySubscriptionResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 + }, + Fetcher: func(ctx context.Context, page *ManagedCCFClientListBySubscriptionResponse) (ManagedCCFClientListBySubscriptionResponse, 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 ManagedCCFClientListBySubscriptionResponse{}, err + } + resp, err := client.pl.Do(req) + if err != nil { + return ManagedCCFClientListBySubscriptionResponse{}, err + } + if !runtime.HasStatusCode(resp, http.StatusOK) { + return ManagedCCFClientListBySubscriptionResponse{}, runtime.NewResponseError(resp) + } + return client.listBySubscriptionHandleResponse(resp) + }, + }) +} + +// listBySubscriptionCreateRequest creates the ListBySubscription request. +func (client *ManagedCCFClient) listBySubscriptionCreateRequest(ctx context.Context, options *ManagedCCFClientListBySubscriptionOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/managedCCFs/" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + 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", "2023-01-26-preview") + if options != nil && options.Filter != nil { + reqQP.Set("$filter", *options.Filter) + } + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// listBySubscriptionHandleResponse handles the ListBySubscription response. +func (client *ManagedCCFClient) listBySubscriptionHandleResponse(resp *http.Response) (ManagedCCFClientListBySubscriptionResponse, error) { + result := ManagedCCFClientListBySubscriptionResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.ManagedCCFList); err != nil { + return ManagedCCFClientListBySubscriptionResponse{}, err + } + return result, nil +} + +// BeginUpdate - Updates properties of Managed CCF +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +// - resourceGroupName - The name of the resource group. The name is case insensitive. +// - appName - Name of the Managed CCF +// - managedCCF - Request body for Updating Managed CCF App +// - options - ManagedCCFClientBeginUpdateOptions contains the optional parameters for the ManagedCCFClient.BeginUpdate method. +func (client *ManagedCCFClient) BeginUpdate(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginUpdateOptions) (*runtime.Poller[ManagedCCFClientUpdateResponse], error) { + if options == nil || options.ResumeToken == "" { + resp, err := client.update(ctx, resourceGroupName, appName, managedCCF, options) + if err != nil { + return nil, err + } + return runtime.NewPoller[ManagedCCFClientUpdateResponse](resp, client.pl, nil) + } else { + return runtime.NewPollerFromResumeToken[ManagedCCFClientUpdateResponse](options.ResumeToken, client.pl, nil) + } +} + +// Update - Updates properties of Managed CCF +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-01-26-preview +func (client *ManagedCCFClient) update(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginUpdateOptions) (*http.Response, error) { + req, err := client.updateCreateRequest(ctx, resourceGroupName, appName, managedCCF, options) + if err != nil { + return nil, err + } + resp, err := client.pl.Do(req) + if err != nil { + return nil, err + } + if !runtime.HasStatusCode(resp, http.StatusOK, http.StatusAccepted) { + return nil, runtime.NewResponseError(resp) + } + return resp, nil +} + +// updateCreateRequest creates the Update request. +func (client *ManagedCCFClient) updateCreateRequest(ctx context.Context, resourceGroupName string, appName string, managedCCF ManagedCCF, options *ManagedCCFClientBeginUpdateOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}" + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if appName == "" { + return nil, errors.New("parameter appName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{appName}", url.PathEscape(appName)) + req, err := runtime.NewRequest(ctx, http.MethodPatch, runtime.JoinPaths(client.host, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-01-26-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, runtime.MarshalAsJSON(req, managedCCF) +} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/models.go similarity index 56% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/models.go index 900f645cd60d..22890ab584e2 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/models.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -31,6 +32,12 @@ type CertBasedSecurityPrincipal struct { LedgerRoleName *LedgerRoleName `json:"ledgerRoleName,omitempty"` } +// CertificateTags - Tags for Managed CCF Certificates +type CertificateTags struct { + // Additional tags for Managed CCF Certificates + Tags map[string]*string `json:"tags,omitempty"` +} + // CheckNameAvailabilityRequest - The check availability request body. type CheckNameAvailabilityRequest struct { // The name of the resource for which availability needs to be checked. @@ -59,32 +66,44 @@ type ClientCheckNameAvailabilityOptions struct { // ConfidentialLedger - Confidential Ledger. Contains the properties of Confidential Ledger Resource. type ConfidentialLedger struct { - // The Azure location where the Confidential Ledger is running. + // REQUIRED; The geo-location where the resource lives Location *string `json:"location,omitempty"` // Properties of Confidential Ledger Resource. Properties *LedgerProperties `json:"properties,omitempty"` - // Additional tags for Confidential Ledger + // Object representing RunningState for Ledger. + RunningState *RunningState `json:"runningState,omitempty"` + + // Resource tags. Tags map[string]*string `json:"tags,omitempty"` - // READ-ONLY; Fully qualified resource Id for the resource. + // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ID *string `json:"id,omitempty" azure:"ro"` - // READ-ONLY; Name of the Resource. + // READ-ONLY; The name of the resource Name *string `json:"name,omitempty" azure:"ro"` - // READ-ONLY; Metadata pertaining to creation and last modification of the resource + // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information. SystemData *SystemData `json:"systemData,omitempty" azure:"ro"` - // READ-ONLY; The type of the resource. + // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" Type *string `json:"type,omitempty" azure:"ro"` } +// DeploymentType - Object representing DeploymentType for Managed CCF. +type DeploymentType struct { + // Source Uri containing ManagedCCF code + AppSourceURI *string `json:"appSourceUri,omitempty"` + + // Unique name for the Managed CCF. + LanguageRuntime *LanguageRuntime `json:"languageRuntime,omitempty"` +} + // ErrorAdditionalInfo - The resource management error additional info. type ErrorAdditionalInfo struct { // READ-ONLY; The additional info. - Info interface{} `json:"info,omitempty" azure:"ro"` + Info any `json:"info,omitempty" azure:"ro"` // READ-ONLY; The additional info type. Type *string `json:"type,omitempty" azure:"ro"` @@ -138,13 +157,15 @@ type LedgerClientGetOptions struct { // placeholder for future optional parameters } -// LedgerClientListByResourceGroupOptions contains the optional parameters for the LedgerClient.ListByResourceGroup method. +// LedgerClientListByResourceGroupOptions contains the optional parameters for the LedgerClient.NewListByResourceGroupPager +// method. type LedgerClientListByResourceGroupOptions struct { // The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' Filter *string } -// LedgerClientListBySubscriptionOptions contains the optional parameters for the LedgerClient.ListBySubscription method. +// LedgerClientListBySubscriptionOptions contains the optional parameters for the LedgerClient.NewListBySubscriptionPager +// method. type LedgerClientListBySubscriptionOptions struct { // The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' Filter *string @@ -186,32 +207,129 @@ type List struct { Value []*ConfidentialLedger `json:"value,omitempty"` } -// OperationsClientListOptions contains the optional parameters for the OperationsClient.List method. +// ManagedCCF - Managed CCF. Contains the properties of Managed CCF Resource. +type ManagedCCF struct { + // REQUIRED; The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Properties of Managed CCF Resource. + Properties *ManagedCCFProperties `json:"properties,omitempty"` + + // Resource tags. + Tags map[string]*string `json:"tags,omitempty"` + + // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty" azure:"ro"` + + // READ-ONLY; The name of the resource + Name *string `json:"name,omitempty" azure:"ro"` + + // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData `json:"systemData,omitempty" azure:"ro"` + + // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty" azure:"ro"` +} + +// ManagedCCFClientBeginCreateOptions contains the optional parameters for the ManagedCCFClient.BeginCreate method. +type ManagedCCFClientBeginCreateOptions struct { + // Resumes the LRO from the provided token. + ResumeToken string +} + +// ManagedCCFClientBeginDeleteOptions contains the optional parameters for the ManagedCCFClient.BeginDelete method. +type ManagedCCFClientBeginDeleteOptions struct { + // Resumes the LRO from the provided token. + ResumeToken string +} + +// ManagedCCFClientBeginUpdateOptions contains the optional parameters for the ManagedCCFClient.BeginUpdate method. +type ManagedCCFClientBeginUpdateOptions struct { + // Resumes the LRO from the provided token. + ResumeToken string +} + +// ManagedCCFClientGetOptions contains the optional parameters for the ManagedCCFClient.Get method. +type ManagedCCFClientGetOptions struct { + // placeholder for future optional parameters +} + +// ManagedCCFClientListByResourceGroupOptions contains the optional parameters for the ManagedCCFClient.NewListByResourceGroupPager +// method. +type ManagedCCFClientListByResourceGroupOptions struct { + // The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' + Filter *string +} + +// ManagedCCFClientListBySubscriptionOptions contains the optional parameters for the ManagedCCFClient.NewListBySubscriptionPager +// method. +type ManagedCCFClientListBySubscriptionOptions struct { + // The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public' + Filter *string +} + +// ManagedCCFList - Object that includes an array of Managed CCF and a possible link for next set. +type ManagedCCFList struct { + // The URL the client should use to fetch the next page (per server side paging). + NextLink *string `json:"nextLink,omitempty"` + + // List of Managed CCF + Value []*ManagedCCF `json:"value,omitempty"` +} + +// ManagedCCFProperties - Additional Managed CCF properties. +type ManagedCCFProperties struct { + // Deployment Type of Managed CCF + DeploymentType *DeploymentType `json:"deploymentType,omitempty"` + + // List of member identity certificates for Managed CCF + MemberIdentityCertificates []*MemberIdentityCertificate `json:"memberIdentityCertificates,omitempty"` + + // READ-ONLY; Unique name for the Managed CCF. + AppName *string `json:"appName,omitempty" azure:"ro"` + + // READ-ONLY; Endpoint for calling Managed CCF Service. + AppURI *string `json:"appUri,omitempty" azure:"ro"` + + // READ-ONLY; Endpoint for accessing network identity. + IdentityServiceURI *string `json:"identityServiceUri,omitempty" azure:"ro"` + + // READ-ONLY; Provisioning state of Ledger Resource + ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` +} + +// MemberIdentityCertificate - Object representing MemberIdentityCertificate for Managed CCF. +type MemberIdentityCertificate struct { + // Member Identity Certificate + Certificate *string `json:"certificate,omitempty"` + + // Member Identity Certificate Encryption Key + Encryptionkey *string `json:"encryptionkey,omitempty"` + + // Anything + Tags any `json:"tags,omitempty"` +} + +// OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method. type OperationsClientListOptions struct { // placeholder for future optional parameters } -// Resource - An Azure resource. +// Resource - Common fields that are returned in the response for all Azure Resource Manager resources type Resource struct { - // READ-ONLY; Fully qualified resource Id for the resource. + // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ID *string `json:"id,omitempty" azure:"ro"` - // READ-ONLY; Name of the Resource. + // READ-ONLY; The name of the resource Name *string `json:"name,omitempty" azure:"ro"` - // READ-ONLY; Metadata pertaining to creation and last modification of the resource + // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information. SystemData *SystemData `json:"systemData,omitempty" azure:"ro"` - // READ-ONLY; The type of the resource. + // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" Type *string `json:"type,omitempty" azure:"ro"` } -// ResourceLocation - Location of the ARM Resource -type ResourceLocation struct { - // The Azure location where the Confidential Ledger is running. - Location *string `json:"location,omitempty"` -} - // ResourceProviderOperationDefinition - Describes the Resource Provider Operation. type ResourceProviderOperationDefinition struct { // Details about the operations @@ -274,3 +392,25 @@ type Tags struct { // Additional tags for Confidential Ledger Tags map[string]*string `json:"tags,omitempty"` } + +// TrackedResource - The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' +// and a 'location' +type TrackedResource struct { + // REQUIRED; The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Resource tags. + Tags map[string]*string `json:"tags,omitempty"` + + // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty" azure:"ro"` + + // READ-ONLY; The name of the resource + Name *string `json:"name,omitempty" azure:"ro"` + + // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData `json:"systemData,omitempty" azure:"ro"` + + // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty" azure:"ro"` +} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/models_serde.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/models_serde.go new file mode 100644 index 000000000000..c9916e1f0250 --- /dev/null +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/models_serde.go @@ -0,0 +1,898 @@ +//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. +// DO NOT EDIT. + +package armconfidentialledger + +import ( + "encoding/json" + "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "reflect" +) + +// MarshalJSON implements the json.Marshaller interface for type AADBasedSecurityPrincipal. +func (a AADBasedSecurityPrincipal) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "ledgerRoleName", a.LedgerRoleName) + populate(objectMap, "principalId", a.PrincipalID) + populate(objectMap, "tenantId", a.TenantID) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type AADBasedSecurityPrincipal. +func (a *AADBasedSecurityPrincipal) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", a, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "ledgerRoleName": + err = unpopulate(val, "LedgerRoleName", &a.LedgerRoleName) + delete(rawMsg, key) + case "principalId": + err = unpopulate(val, "PrincipalID", &a.PrincipalID) + delete(rawMsg, key) + case "tenantId": + err = unpopulate(val, "TenantID", &a.TenantID) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", a, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type CertBasedSecurityPrincipal. +func (c CertBasedSecurityPrincipal) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "cert", c.Cert) + populate(objectMap, "ledgerRoleName", c.LedgerRoleName) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type CertBasedSecurityPrincipal. +func (c *CertBasedSecurityPrincipal) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "cert": + err = unpopulate(val, "Cert", &c.Cert) + delete(rawMsg, key) + case "ledgerRoleName": + err = unpopulate(val, "LedgerRoleName", &c.LedgerRoleName) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type CertificateTags. +func (c CertificateTags) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "tags", c.Tags) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateTags. +func (c *CertificateTags) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "tags": + err = unpopulate(val, "Tags", &c.Tags) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type CheckNameAvailabilityRequest. +func (c CheckNameAvailabilityRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "name", c.Name) + populate(objectMap, "type", c.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameAvailabilityRequest. +func (c *CheckNameAvailabilityRequest) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "name": + err = unpopulate(val, "Name", &c.Name) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &c.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type CheckNameAvailabilityResponse. +func (c CheckNameAvailabilityResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "message", c.Message) + populate(objectMap, "nameAvailable", c.NameAvailable) + populate(objectMap, "reason", c.Reason) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameAvailabilityResponse. +func (c *CheckNameAvailabilityResponse) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "message": + err = unpopulate(val, "Message", &c.Message) + delete(rawMsg, key) + case "nameAvailable": + err = unpopulate(val, "NameAvailable", &c.NameAvailable) + delete(rawMsg, key) + case "reason": + err = unpopulate(val, "Reason", &c.Reason) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ConfidentialLedger. +func (c ConfidentialLedger) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "id", c.ID) + populate(objectMap, "location", c.Location) + populate(objectMap, "name", c.Name) + populate(objectMap, "properties", c.Properties) + populate(objectMap, "runningState", c.RunningState) + populate(objectMap, "systemData", c.SystemData) + populate(objectMap, "tags", c.Tags) + populate(objectMap, "type", c.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ConfidentialLedger. +func (c *ConfidentialLedger) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "id": + err = unpopulate(val, "ID", &c.ID) + delete(rawMsg, key) + case "location": + err = unpopulate(val, "Location", &c.Location) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &c.Name) + delete(rawMsg, key) + case "properties": + err = unpopulate(val, "Properties", &c.Properties) + delete(rawMsg, key) + case "runningState": + err = unpopulate(val, "RunningState", &c.RunningState) + delete(rawMsg, key) + case "systemData": + err = unpopulate(val, "SystemData", &c.SystemData) + delete(rawMsg, key) + case "tags": + err = unpopulate(val, "Tags", &c.Tags) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &c.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", c, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type DeploymentType. +func (d DeploymentType) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "appSourceUri", d.AppSourceURI) + populate(objectMap, "languageRuntime", d.LanguageRuntime) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentType. +func (d *DeploymentType) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", d, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "appSourceUri": + err = unpopulate(val, "AppSourceURI", &d.AppSourceURI) + delete(rawMsg, key) + case "languageRuntime": + err = unpopulate(val, "LanguageRuntime", &d.LanguageRuntime) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", d, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ErrorAdditionalInfo. +func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "info", &e.Info) + populate(objectMap, "type", e.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo. +func (e *ErrorAdditionalInfo) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "info": + err = unpopulate(val, "Info", &e.Info) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &e.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ErrorDetail. +func (e ErrorDetail) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + 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) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail. +func (e *ErrorDetail) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "additionalInfo": + err = unpopulate(val, "AdditionalInfo", &e.AdditionalInfo) + delete(rawMsg, key) + case "code": + err = unpopulate(val, "Code", &e.Code) + delete(rawMsg, key) + case "details": + err = unpopulate(val, "Details", &e.Details) + delete(rawMsg, key) + case "message": + err = unpopulate(val, "Message", &e.Message) + delete(rawMsg, key) + case "target": + err = unpopulate(val, "Target", &e.Target) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ErrorResponse. +func (e ErrorResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "error", e.Error) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponse. +func (e *ErrorResponse) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "error": + err = unpopulate(val, "Error", &e.Error) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", e, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type LedgerProperties. +func (l LedgerProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "aadBasedSecurityPrincipals", l.AADBasedSecurityPrincipals) + populate(objectMap, "certBasedSecurityPrincipals", l.CertBasedSecurityPrincipals) + populate(objectMap, "identityServiceUri", l.IdentityServiceURI) + populate(objectMap, "ledgerInternalNamespace", l.LedgerInternalNamespace) + populate(objectMap, "ledgerName", l.LedgerName) + populate(objectMap, "ledgerType", l.LedgerType) + populate(objectMap, "ledgerUri", l.LedgerURI) + populate(objectMap, "provisioningState", l.ProvisioningState) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type LedgerProperties. +func (l *LedgerProperties) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "aadBasedSecurityPrincipals": + err = unpopulate(val, "AADBasedSecurityPrincipals", &l.AADBasedSecurityPrincipals) + delete(rawMsg, key) + case "certBasedSecurityPrincipals": + err = unpopulate(val, "CertBasedSecurityPrincipals", &l.CertBasedSecurityPrincipals) + delete(rawMsg, key) + case "identityServiceUri": + err = unpopulate(val, "IdentityServiceURI", &l.IdentityServiceURI) + delete(rawMsg, key) + case "ledgerInternalNamespace": + err = unpopulate(val, "LedgerInternalNamespace", &l.LedgerInternalNamespace) + delete(rawMsg, key) + case "ledgerName": + err = unpopulate(val, "LedgerName", &l.LedgerName) + delete(rawMsg, key) + case "ledgerType": + err = unpopulate(val, "LedgerType", &l.LedgerType) + delete(rawMsg, key) + case "ledgerUri": + err = unpopulate(val, "LedgerURI", &l.LedgerURI) + delete(rawMsg, key) + case "provisioningState": + err = unpopulate(val, "ProvisioningState", &l.ProvisioningState) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type List. +func (l List) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "nextLink", l.NextLink) + populate(objectMap, "value", l.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type List. +func (l *List) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "nextLink": + err = unpopulate(val, "NextLink", &l.NextLink) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &l.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", l, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ManagedCCF. +func (m ManagedCCF) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "id", m.ID) + populate(objectMap, "location", m.Location) + populate(objectMap, "name", m.Name) + populate(objectMap, "properties", m.Properties) + populate(objectMap, "systemData", m.SystemData) + populate(objectMap, "tags", m.Tags) + populate(objectMap, "type", m.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedCCF. +func (m *ManagedCCF) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "id": + err = unpopulate(val, "ID", &m.ID) + delete(rawMsg, key) + case "location": + err = unpopulate(val, "Location", &m.Location) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &m.Name) + delete(rawMsg, key) + case "properties": + err = unpopulate(val, "Properties", &m.Properties) + delete(rawMsg, key) + case "systemData": + err = unpopulate(val, "SystemData", &m.SystemData) + delete(rawMsg, key) + case "tags": + err = unpopulate(val, "Tags", &m.Tags) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &m.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ManagedCCFList. +func (m ManagedCCFList) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "nextLink", m.NextLink) + populate(objectMap, "value", m.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedCCFList. +func (m *ManagedCCFList) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "nextLink": + err = unpopulate(val, "NextLink", &m.NextLink) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &m.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ManagedCCFProperties. +func (m ManagedCCFProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "appName", m.AppName) + populate(objectMap, "appUri", m.AppURI) + populate(objectMap, "deploymentType", m.DeploymentType) + populate(objectMap, "identityServiceUri", m.IdentityServiceURI) + populate(objectMap, "memberIdentityCertificates", m.MemberIdentityCertificates) + populate(objectMap, "provisioningState", m.ProvisioningState) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedCCFProperties. +func (m *ManagedCCFProperties) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "appName": + err = unpopulate(val, "AppName", &m.AppName) + delete(rawMsg, key) + case "appUri": + err = unpopulate(val, "AppURI", &m.AppURI) + delete(rawMsg, key) + case "deploymentType": + err = unpopulate(val, "DeploymentType", &m.DeploymentType) + delete(rawMsg, key) + case "identityServiceUri": + err = unpopulate(val, "IdentityServiceURI", &m.IdentityServiceURI) + delete(rawMsg, key) + case "memberIdentityCertificates": + err = unpopulate(val, "MemberIdentityCertificates", &m.MemberIdentityCertificates) + delete(rawMsg, key) + case "provisioningState": + err = unpopulate(val, "ProvisioningState", &m.ProvisioningState) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type MemberIdentityCertificate. +func (m MemberIdentityCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "certificate", m.Certificate) + populate(objectMap, "encryptionkey", m.Encryptionkey) + populate(objectMap, "tags", &m.Tags) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type MemberIdentityCertificate. +func (m *MemberIdentityCertificate) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "certificate": + err = unpopulate(val, "Certificate", &m.Certificate) + delete(rawMsg, key) + case "encryptionkey": + err = unpopulate(val, "Encryptionkey", &m.Encryptionkey) + delete(rawMsg, key) + case "tags": + err = unpopulate(val, "Tags", &m.Tags) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", m, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "id", r.ID) + populate(objectMap, "name", r.Name) + populate(objectMap, "systemData", r.SystemData) + populate(objectMap, "type", r.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Resource. +func (r *Resource) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "id": + err = unpopulate(val, "ID", &r.ID) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &r.Name) + delete(rawMsg, key) + case "systemData": + err = unpopulate(val, "SystemData", &r.SystemData) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &r.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ResourceProviderOperationDefinition. +func (r ResourceProviderOperationDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "display", r.Display) + populate(objectMap, "isDataAction", r.IsDataAction) + populate(objectMap, "name", r.Name) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderOperationDefinition. +func (r *ResourceProviderOperationDefinition) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "display": + err = unpopulate(val, "Display", &r.Display) + delete(rawMsg, key) + case "isDataAction": + err = unpopulate(val, "IsDataAction", &r.IsDataAction) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &r.Name) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ResourceProviderOperationDisplay. +func (r ResourceProviderOperationDisplay) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "description", r.Description) + populate(objectMap, "operation", r.Operation) + populate(objectMap, "provider", r.Provider) + populate(objectMap, "resource", r.Resource) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderOperationDisplay. +func (r *ResourceProviderOperationDisplay) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "description": + err = unpopulate(val, "Description", &r.Description) + delete(rawMsg, key) + case "operation": + err = unpopulate(val, "Operation", &r.Operation) + delete(rawMsg, key) + case "provider": + err = unpopulate(val, "Provider", &r.Provider) + delete(rawMsg, key) + case "resource": + err = unpopulate(val, "Resource", &r.Resource) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type ResourceProviderOperationList. +func (r ResourceProviderOperationList) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "nextLink", r.NextLink) + populate(objectMap, "value", r.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderOperationList. +func (r *ResourceProviderOperationList) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "nextLink": + err = unpopulate(val, "NextLink", &r.NextLink) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &r.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", r, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type SystemData. +func (s SystemData) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + 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 fmt.Errorf("unmarshalling type %T: %v", s, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "createdAt": + err = unpopulateTimeRFC3339(val, "CreatedAt", &s.CreatedAt) + delete(rawMsg, key) + case "createdBy": + err = unpopulate(val, "CreatedBy", &s.CreatedBy) + delete(rawMsg, key) + case "createdByType": + err = unpopulate(val, "CreatedByType", &s.CreatedByType) + delete(rawMsg, key) + case "lastModifiedAt": + err = unpopulateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt) + delete(rawMsg, key) + case "lastModifiedBy": + err = unpopulate(val, "LastModifiedBy", &s.LastModifiedBy) + delete(rawMsg, key) + case "lastModifiedByType": + err = unpopulate(val, "LastModifiedByType", &s.LastModifiedByType) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", s, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type Tags. +func (t Tags) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "tags", t.Tags) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type Tags. +func (t *Tags) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "tags": + err = unpopulate(val, "Tags", &t.Tags) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type TrackedResource. +func (t TrackedResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "id", t.ID) + populate(objectMap, "location", t.Location) + populate(objectMap, "name", t.Name) + populate(objectMap, "systemData", t.SystemData) + populate(objectMap, "tags", t.Tags) + populate(objectMap, "type", t.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type TrackedResource. +func (t *TrackedResource) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "id": + err = unpopulate(val, "ID", &t.ID) + delete(rawMsg, key) + case "location": + err = unpopulate(val, "Location", &t.Location) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &t.Name) + delete(rawMsg, key) + case "systemData": + err = unpopulate(val, "SystemData", &t.SystemData) + delete(rawMsg, key) + case "tags": + err = unpopulate(val, "Tags", &t.Tags) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &t.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", t, err) + } + } + return nil +} + +func populate(m map[string]any, k string, v any) { + 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, fn string, v any) error { + if data == nil { + return nil + } + if err := json.Unmarshal(data, v); err != nil { + return fmt.Errorf("struct field %s: %v", fn, err) + } + return nil +} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_operations_client.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/operations_client.go similarity index 90% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_operations_client.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/operations_client.go index 3d4b8f286d76..09261562e49f 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_operations_client.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/operations_client.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -27,8 +28,8 @@ type OperationsClient struct { } // NewOperationsClient creates a new instance of OperationsClient with the specified values. -// credential - used to authorize requests. Usually a credential from azidentity. -// options - pass nil to accept the default values. +// - credential - used to authorize requests. Usually a credential from azidentity. +// - options - pass nil to accept the default values. func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error) { if options == nil { options = &arm.ClientOptions{} @@ -49,9 +50,9 @@ func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientO } // NewListPager - Retrieves a list of available API operations -// If the operation fails it returns an *azcore.ResponseError type. -// Generated from API version 2022-05-13 -// options - OperationsClientListOptions contains the optional parameters for the OperationsClient.List method. +// +// Generated from API version 2023-01-26-preview +// - options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method. func (client *OperationsClient) NewListPager(options *OperationsClientListOptions) *runtime.Pager[OperationsClientListResponse] { return runtime.NewPager(runtime.PagingHandler[OperationsClientListResponse]{ More: func(page OperationsClientListResponse) bool { @@ -88,7 +89,7 @@ func (client *OperationsClient) listCreateRequest(ctx context.Context, options * return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-13") + reqQP.Set("api-version", "2023-01-26-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_response_types.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/response_types.go similarity index 53% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_response_types.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/response_types.go index ef876d395f5d..77d7d477ea41 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_response_types.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/response_types.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -13,12 +14,12 @@ type ClientCheckNameAvailabilityResponse struct { CheckNameAvailabilityResponse } -// LedgerClientCreateResponse contains the response from method LedgerClient.Create. +// LedgerClientCreateResponse contains the response from method LedgerClient.BeginCreate. type LedgerClientCreateResponse struct { ConfidentialLedger } -// LedgerClientDeleteResponse contains the response from method LedgerClient.Delete. +// LedgerClientDeleteResponse contains the response from method LedgerClient.BeginDelete. type LedgerClientDeleteResponse struct { // placeholder for future response values } @@ -28,22 +29,52 @@ type LedgerClientGetResponse struct { ConfidentialLedger } -// LedgerClientListByResourceGroupResponse contains the response from method LedgerClient.ListByResourceGroup. +// LedgerClientListByResourceGroupResponse contains the response from method LedgerClient.NewListByResourceGroupPager. type LedgerClientListByResourceGroupResponse struct { List } -// LedgerClientListBySubscriptionResponse contains the response from method LedgerClient.ListBySubscription. +// LedgerClientListBySubscriptionResponse contains the response from method LedgerClient.NewListBySubscriptionPager. type LedgerClientListBySubscriptionResponse struct { List } -// LedgerClientUpdateResponse contains the response from method LedgerClient.Update. +// LedgerClientUpdateResponse contains the response from method LedgerClient.BeginUpdate. type LedgerClientUpdateResponse struct { ConfidentialLedger } -// OperationsClientListResponse contains the response from method OperationsClient.List. +// ManagedCCFClientCreateResponse contains the response from method ManagedCCFClient.BeginCreate. +type ManagedCCFClientCreateResponse struct { + ManagedCCF +} + +// ManagedCCFClientDeleteResponse contains the response from method ManagedCCFClient.BeginDelete. +type ManagedCCFClientDeleteResponse struct { + // placeholder for future response values +} + +// ManagedCCFClientGetResponse contains the response from method ManagedCCFClient.Get. +type ManagedCCFClientGetResponse struct { + ManagedCCF +} + +// ManagedCCFClientListByResourceGroupResponse contains the response from method ManagedCCFClient.NewListByResourceGroupPager. +type ManagedCCFClientListByResourceGroupResponse struct { + ManagedCCFList +} + +// ManagedCCFClientListBySubscriptionResponse contains the response from method ManagedCCFClient.NewListBySubscriptionPager. +type ManagedCCFClientListBySubscriptionResponse struct { + ManagedCCFList +} + +// ManagedCCFClientUpdateResponse contains the response from method ManagedCCFClient.BeginUpdate. +type ManagedCCFClientUpdateResponse struct { + // placeholder for future response values +} + +// OperationsClientListResponse contains the response from method OperationsClient.NewListPager. type OperationsClientListResponse struct { ResourceProviderOperationList } diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_time_rfc3339.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/time_rfc3339.go similarity index 96% rename from sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_time_rfc3339.go rename to sdk/resourcemanager/confidentialledger/armconfidentialledger/time_rfc3339.go index 75bc94798e7c..e81d39909c33 100644 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_time_rfc3339.go +++ b/sdk/resourcemanager/confidentialledger/armconfidentialledger/time_rfc3339.go @@ -5,6 +5,7 @@ // 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. +// DO NOT EDIT. package armconfidentialledger @@ -61,7 +62,7 @@ func (t *timeRFC3339) Parse(layout, value string) error { return err } -func populateTimeRFC3339(m map[string]interface{}, k string, t *time.Time) { +func populateTimeRFC3339(m map[string]any, k string, t *time.Time) { if t == nil { return } else if azcore.IsNullValue(t) { diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_confidentialledger_client_test.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_confidentialledger_client_test.go deleted file mode 100644 index 3b943a1e237f..000000000000 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_confidentialledger_client_test.go +++ /dev/null @@ -1,42 +0,0 @@ -//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 armconfidentialledger_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/confidentialledger/armconfidentialledger" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/CheckNameAvailability.json -func ExampleClient_CheckNameAvailability() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewClient("00000000-0000-0000-0000-000000000000", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := client.CheckNameAvailability(ctx, - armconfidentialledger.CheckNameAvailabilityRequest{ - Name: to.Ptr("sample-name"), - Type: to.Ptr("Microsoft.ConfidentialLedger/ledgers"), - }, - nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // TODO: use response item - _ = res -} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_ledger_client_test.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_ledger_client_test.go deleted file mode 100644 index 6be3127bc463..000000000000 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_ledger_client_test.go +++ /dev/null @@ -1,206 +0,0 @@ -//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 armconfidentialledger_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/confidentialledger/armconfidentialledger" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_Get.json -func ExampleLedgerClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := client.Get(ctx, - "DummyResourceGroupName", - "DummyLedgerName", - nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // TODO: use response item - _ = res -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_Delete.json -func ExampleLedgerClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := client.BeginDelete(ctx, - "DummyResourceGroupName", - "DummyLedgerName", - nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_Create.json -func ExampleLedgerClient_BeginCreate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := client.BeginCreate(ctx, - "DummyResourceGroupName", - "DummyLedgerName", - armconfidentialledger.ConfidentialLedger{ - Location: to.Ptr("EastUS"), - Tags: map[string]*string{ - "additionalProps1": to.Ptr("additional properties"), - }, - Properties: &armconfidentialledger.LedgerProperties{ - AADBasedSecurityPrincipals: []*armconfidentialledger.AADBasedSecurityPrincipal{ - { - LedgerRoleName: to.Ptr(armconfidentialledger.LedgerRoleNameAdministrator), - PrincipalID: to.Ptr("34621747-6fc8-4771-a2eb-72f31c461f2e"), - TenantID: to.Ptr("bce123b9-2b7b-4975-8360-5ca0b9b1cd08"), - }}, - CertBasedSecurityPrincipals: []*armconfidentialledger.CertBasedSecurityPrincipal{ - { - Cert: to.Ptr("-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----"), - LedgerRoleName: to.Ptr(armconfidentialledger.LedgerRoleNameReader), - }}, - LedgerType: to.Ptr(armconfidentialledger.LedgerTypePublic), - }, - }, - nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // TODO: use response item - _ = res -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_Update.json -func ExampleLedgerClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := client.BeginUpdate(ctx, - "DummyResourceGroupName", - "DummyLedgerName", - armconfidentialledger.ConfidentialLedger{ - Location: to.Ptr("EastUS"), - Tags: map[string]*string{ - "additionProps2": to.Ptr("additional property value"), - "additionalProps1": to.Ptr("additional properties"), - }, - Properties: &armconfidentialledger.LedgerProperties{ - AADBasedSecurityPrincipals: []*armconfidentialledger.AADBasedSecurityPrincipal{ - { - LedgerRoleName: to.Ptr(armconfidentialledger.LedgerRoleNameAdministrator), - PrincipalID: to.Ptr("34621747-6fc8-4771-a2eb-72f31c461f2e"), - TenantID: to.Ptr("bce123b9-2b7b-4975-8360-5ca0b9b1cd08"), - }}, - CertBasedSecurityPrincipals: []*armconfidentialledger.CertBasedSecurityPrincipal{ - { - Cert: to.Ptr("-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----"), - LedgerRoleName: to.Ptr(armconfidentialledger.LedgerRoleNameReader), - }}, - LedgerType: to.Ptr(armconfidentialledger.LedgerTypePublic), - }, - }, - nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // TODO: use response item - _ = res -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_List.json -func ExampleLedgerClient_NewListByResourceGroupPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := client.NewListByResourceGroupPager("DummyResourceGroupName", - &armconfidentialledger.LedgerClientListByResourceGroupOptions{Filter: nil}) - for pager.More() { - nextResult, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range nextResult.Value { - // TODO: use page item - _ = v - } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/ConfidentialLedger_ListBySub.json -func ExampleLedgerClient_NewListBySubscriptionPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewLedgerClient("0000000-0000-0000-0000-000000000001", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := client.NewListBySubscriptionPager(&armconfidentialledger.LedgerClientListBySubscriptionOptions{Filter: nil}) - for pager.More() { - nextResult, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range nextResult.Value { - // TODO: use page item - _ = v - } - } -} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_operations_client_test.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_operations_client_test.go deleted file mode 100644 index ef09ca2dc3e6..000000000000 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/ze_generated_example_operations_client_test.go +++ /dev/null @@ -1,41 +0,0 @@ -//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 armconfidentialledger_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples/Operations_Get.json -func ExampleOperationsClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - client, err := armconfidentialledger.NewOperationsClient(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := client.NewListPager(nil) - for pager.More() { - nextResult, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range nextResult.Value { - // TODO: use page item - _ = v - } - } -} diff --git a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models_serde.go b/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models_serde.go deleted file mode 100644 index 5a93de84b70f..000000000000 --- a/sdk/resourcemanager/confidentialledger/armconfidentialledger/zz_generated_models_serde.go +++ /dev/null @@ -1,117 +0,0 @@ -//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 armconfidentialledger - -import ( - "encoding/json" - "fmt" - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "reflect" -) - -// MarshalJSON implements the json.Marshaller interface for type ConfidentialLedger. -func (c ConfidentialLedger) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "id", c.ID) - populate(objectMap, "location", c.Location) - populate(objectMap, "name", c.Name) - populate(objectMap, "properties", c.Properties) - populate(objectMap, "systemData", c.SystemData) - populate(objectMap, "tags", c.Tags) - populate(objectMap, "type", c.Type) - return json.Marshal(objectMap) -} - -// MarshalJSON implements the json.Marshaller interface for type LedgerProperties. -func (l LedgerProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "aadBasedSecurityPrincipals", l.AADBasedSecurityPrincipals) - populate(objectMap, "certBasedSecurityPrincipals", l.CertBasedSecurityPrincipals) - populate(objectMap, "identityServiceUri", l.IdentityServiceURI) - populate(objectMap, "ledgerInternalNamespace", l.LedgerInternalNamespace) - populate(objectMap, "ledgerName", l.LedgerName) - populate(objectMap, "ledgerType", l.LedgerType) - populate(objectMap, "ledgerUri", l.LedgerURI) - populate(objectMap, "provisioningState", l.ProvisioningState) - 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 fmt.Errorf("unmarshalling type %T: %v", s, err) - } - for key, val := range rawMsg { - var err error - switch key { - case "createdAt": - err = unpopulateTimeRFC3339(val, "CreatedAt", &s.CreatedAt) - delete(rawMsg, key) - case "createdBy": - err = unpopulate(val, "CreatedBy", &s.CreatedBy) - delete(rawMsg, key) - case "createdByType": - err = unpopulate(val, "CreatedByType", &s.CreatedByType) - delete(rawMsg, key) - case "lastModifiedAt": - err = unpopulateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt) - delete(rawMsg, key) - case "lastModifiedBy": - err = unpopulate(val, "LastModifiedBy", &s.LastModifiedBy) - delete(rawMsg, key) - case "lastModifiedByType": - err = unpopulate(val, "LastModifiedByType", &s.LastModifiedByType) - delete(rawMsg, key) - } - if err != nil { - return fmt.Errorf("unmarshalling type %T: %v", s, err) - } - } - return nil -} - -// MarshalJSON implements the json.Marshaller interface for type Tags. -func (t Tags) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - populate(objectMap, "tags", t.Tags) - 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, fn string, v interface{}) error { - if data == nil { - return nil - } - if err := json.Unmarshal(data, v); err != nil { - return fmt.Errorf("struct field %s: %v", fn, err) - } - return nil -}