diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md b/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md index 352297a7a11b..3d8bc135fa26 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md +++ b/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md @@ -1,5 +1,23 @@ # Release History +## 2.0.0 (2024-03-19) +### Breaking Changes + +- Enum `ActionType` has been removed +- Enum `Origin` has been removed +- Function `*ClientFactory.NewOperationsClient` has been removed +- Function `*LinkerClient.NewListPager` has been removed +- Function `NewOperationsClient` has been removed +- Function `*OperationsClient.NewListPager` has been removed +- Struct `Operation` has been removed +- Struct `OperationDisplay` has been removed +- Struct `OperationListResult` has been removed + +### Features Added + +- New value `ClientTypeKafkaSpringBoot` added to enum type `ClientType` + + ## 1.2.0 (2023-11-24) ### Features Added diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/README.md b/sdk/resourcemanager/servicelinker/armservicelinker/README.md index 4c1f536409de..234c8ca31f8b 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/README.md +++ b/sdk/resourcemanager/servicelinker/armservicelinker/README.md @@ -1,6 +1,6 @@ # Azure Service Linker Module for Go -[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker)](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker/v2)](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker/v2) The `armservicelinker` module provides operations for working with Azure Service Linker. @@ -20,7 +20,7 @@ This project uses [Go modules](https://github.com/golang/go/wiki/Modules) for ve Install the Azure Service Linker module: ```sh -go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker +go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker/v2 ``` ## Authorization @@ -57,7 +57,7 @@ clientFactory, err := armservicelinker.NewClientFactory(, cred, A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory. ```go -client := clientFactory.NewLinkerClient() +client := clientFactory.() ``` ## Fakes diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/autorest.md b/sdk/resourcemanager/servicelinker/armservicelinker/autorest.md index 1f02ce987047..3736e38460d9 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/autorest.md +++ b/sdk/resourcemanager/servicelinker/armservicelinker/autorest.md @@ -5,9 +5,9 @@ ``` yaml azure-arm: true require: -- https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/readme.md -- https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/readme.go.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/servicelinker/resource-manager/readme.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/servicelinker/resource-manager/readme.go.md license-header: MICROSOFT_MIT_NO_VERSION -module-version: 1.2.0 +module-version: 2.0.0 ``` \ No newline at end of file diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/client_factory.go b/sdk/resourcemanager/servicelinker/armservicelinker/client_factory.go index f4d406ecd1f8..875dddc85e54 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/client_factory.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/client_factory.go @@ -16,8 +16,7 @@ import ( // ClientFactory is a client factory used to create any client in this module. // Don't use this type directly, use NewClientFactory instead. type ClientFactory struct { - credential azcore.TokenCredential - options *arm.ClientOptions + internal *arm.Client } // NewClientFactory creates a new instance of ClientFactory with the specified values. @@ -25,24 +24,18 @@ type ClientFactory struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewClientFactory(credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error) { - _, err := arm.NewClient(moduleName, moduleVersion, credential, options) + internal, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } return &ClientFactory{ - credential: credential, - options: options.Clone(), + internal: internal, }, nil } // NewLinkerClient creates a new instance of LinkerClient. func (c *ClientFactory) NewLinkerClient() *LinkerClient { - subClient, _ := NewLinkerClient(c.credential, c.options) - return subClient -} - -// NewOperationsClient creates a new instance of OperationsClient. -func (c *ClientFactory) NewOperationsClient() *OperationsClient { - subClient, _ := NewOperationsClient(c.credential, c.options) - return subClient + return &LinkerClient{ + internal: c.internal, + } } diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/constants.go b/sdk/resourcemanager/servicelinker/armservicelinker/constants.go index 122446be45ff..83a158ef405d 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/constants.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/constants.go @@ -10,23 +10,9 @@ package armservicelinker const ( moduleName = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker" - moduleVersion = "v1.2.0" + moduleVersion = "v2.0.0" ) -// ActionType - Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. -type ActionType string - -const ( - ActionTypeInternal ActionType = "Internal" -) - -// PossibleActionTypeValues returns the possible values for the ActionType const type. -func PossibleActionTypeValues() []ActionType { - return []ActionType{ - ActionTypeInternal, - } -} - // AuthType - The authentication type. type AuthType string @@ -67,16 +53,17 @@ func PossibleAzureResourceTypeValues() []AzureResourceType { type ClientType string const ( - ClientTypeDjango ClientType = "django" - ClientTypeDotnet ClientType = "dotnet" - ClientTypeGo ClientType = "go" - ClientTypeJava ClientType = "java" - ClientTypeNodejs ClientType = "nodejs" - ClientTypeNone ClientType = "none" - ClientTypePhp ClientType = "php" - ClientTypePython ClientType = "python" - ClientTypeRuby ClientType = "ruby" - ClientTypeSpringBoot ClientType = "springBoot" + ClientTypeDjango ClientType = "django" + ClientTypeDotnet ClientType = "dotnet" + ClientTypeGo ClientType = "go" + ClientTypeJava ClientType = "java" + ClientTypeKafkaSpringBoot ClientType = "kafka-springBoot" + ClientTypeNodejs ClientType = "nodejs" + ClientTypeNone ClientType = "none" + ClientTypePhp ClientType = "php" + ClientTypePython ClientType = "python" + ClientTypeRuby ClientType = "ruby" + ClientTypeSpringBoot ClientType = "springBoot" ) // PossibleClientTypeValues returns the possible values for the ClientType const type. @@ -86,6 +73,7 @@ func PossibleClientTypeValues() []ClientType { ClientTypeDotnet, ClientTypeGo, ClientTypeJava, + ClientTypeKafkaSpringBoot, ClientTypeNodejs, ClientTypeNone, ClientTypePhp, @@ -115,25 +103,6 @@ func PossibleCreatedByTypeValues() []CreatedByType { } } -// Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default -// value is "user,system" -type Origin string - -const ( - OriginSystem Origin = "system" - OriginUser Origin = "user" - OriginUserSystem Origin = "user,system" -) - -// PossibleOriginValues returns the possible values for the Origin const type. -func PossibleOriginValues() []Origin { - return []Origin{ - OriginSystem, - OriginUser, - OriginUserSystem, - } -} - // SecretType - The secret type. type SecretType string diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go index 229a2c979d7d..3397b3f27121 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go @@ -15,8 +15,7 @@ import ( azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker/v2" "net/http" "net/url" "regexp" @@ -36,10 +35,6 @@ type LinkerServer struct { // HTTP status codes to indicate success: http.StatusOK Get func(ctx context.Context, resourceURI string, linkerName string, options *armservicelinker.LinkerClientGetOptions) (resp azfake.Responder[armservicelinker.LinkerClientGetResponse], errResp azfake.ErrorResponder) - // NewListPager is the fake for method LinkerClient.NewListPager - // HTTP status codes to indicate success: http.StatusOK - NewListPager func(resourceURI string, options *armservicelinker.LinkerClientListOptions) (resp azfake.PagerResponder[armservicelinker.LinkerClientListResponse]) - // ListConfigurations is the fake for method LinkerClient.ListConfigurations // HTTP status codes to indicate success: http.StatusOK ListConfigurations func(ctx context.Context, resourceURI string, linkerName string, options *armservicelinker.LinkerClientListConfigurationsOptions) (resp azfake.Responder[armservicelinker.LinkerClientListConfigurationsResponse], errResp azfake.ErrorResponder) @@ -61,7 +56,6 @@ func NewLinkerServerTransport(srv *LinkerServer) *LinkerServerTransport { srv: srv, beginCreateOrUpdate: newTracker[azfake.PollerResponder[armservicelinker.LinkerClientCreateOrUpdateResponse]](), beginDelete: newTracker[azfake.PollerResponder[armservicelinker.LinkerClientDeleteResponse]](), - newListPager: newTracker[azfake.PagerResponder[armservicelinker.LinkerClientListResponse]](), beginUpdate: newTracker[azfake.PollerResponder[armservicelinker.LinkerClientUpdateResponse]](), beginValidate: newTracker[azfake.PollerResponder[armservicelinker.LinkerClientValidateResponse]](), } @@ -73,7 +67,6 @@ type LinkerServerTransport struct { srv *LinkerServer beginCreateOrUpdate *tracker[azfake.PollerResponder[armservicelinker.LinkerClientCreateOrUpdateResponse]] beginDelete *tracker[azfake.PollerResponder[armservicelinker.LinkerClientDeleteResponse]] - newListPager *tracker[azfake.PagerResponder[armservicelinker.LinkerClientListResponse]] beginUpdate *tracker[azfake.PollerResponder[armservicelinker.LinkerClientUpdateResponse]] beginValidate *tracker[azfake.PollerResponder[armservicelinker.LinkerClientValidateResponse]] } @@ -96,8 +89,6 @@ func (l *LinkerServerTransport) Do(req *http.Request) (*http.Response, error) { resp, err = l.dispatchBeginDelete(req) case "LinkerClient.Get": resp, err = l.dispatchGet(req) - case "LinkerClient.NewListPager": - resp, err = l.dispatchNewListPager(req) case "LinkerClient.ListConfigurations": resp, err = l.dispatchListConfigurations(req) case "LinkerClient.BeginUpdate": @@ -240,43 +231,6 @@ func (l *LinkerServerTransport) dispatchGet(req *http.Request) (*http.Response, return resp, nil } -func (l *LinkerServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { - if l.srv.NewListPager == nil { - return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} - } - newListPager := l.newListPager.get(req) - if newListPager == nil { - const regexStr = `/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.ServiceLinker/linkers` - regex := regexp.MustCompile(regexStr) - matches := regex.FindStringSubmatch(req.URL.EscapedPath()) - if matches == nil || len(matches) < 1 { - return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) - } - resourceURIParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceUri")]) - if err != nil { - return nil, err - } - resp := l.srv.NewListPager(resourceURIParam, nil) - newListPager = &resp - l.newListPager.add(req, newListPager) - server.PagerResponderInjectNextLinks(newListPager, req, func(page *armservicelinker.LinkerClientListResponse, createLink func() string) { - page.NextLink = to.Ptr(createLink()) - }) - } - resp, err := server.PagerResponderNext(newListPager, req) - if err != nil { - return nil, err - } - if !contains([]int{http.StatusOK}, resp.StatusCode) { - l.newListPager.remove(req) - return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} - } - if !server.PagerResponderMore(newListPager) { - l.newListPager.remove(req) - } - return resp, nil -} - func (l *LinkerServerTransport) dispatchListConfigurations(req *http.Request) (*http.Response, error) { if l.srv.ListConfigurations == nil { return nil, &nonRetriableError{errors.New("fake for method ListConfigurations not implemented")} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go deleted file mode 100644 index f4b22870d24a..000000000000 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go +++ /dev/null @@ -1,96 +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. DO NOT EDIT. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -package fake - -import ( - "errors" - "fmt" - azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker" - "net/http" -) - -// OperationsServer is a fake server for instances of the armservicelinker.OperationsClient type. -type OperationsServer struct { - // NewListPager is the fake for method OperationsClient.NewListPager - // HTTP status codes to indicate success: http.StatusOK - NewListPager func(options *armservicelinker.OperationsClientListOptions) (resp azfake.PagerResponder[armservicelinker.OperationsClientListResponse]) -} - -// NewOperationsServerTransport creates a new instance of OperationsServerTransport with the provided implementation. -// The returned OperationsServerTransport instance is connected to an instance of armservicelinker.OperationsClient via the -// azcore.ClientOptions.Transporter field in the client's constructor parameters. -func NewOperationsServerTransport(srv *OperationsServer) *OperationsServerTransport { - return &OperationsServerTransport{ - srv: srv, - newListPager: newTracker[azfake.PagerResponder[armservicelinker.OperationsClientListResponse]](), - } -} - -// OperationsServerTransport connects instances of armservicelinker.OperationsClient to instances of OperationsServer. -// Don't use this type directly, use NewOperationsServerTransport instead. -type OperationsServerTransport struct { - srv *OperationsServer - newListPager *tracker[azfake.PagerResponder[armservicelinker.OperationsClientListResponse]] -} - -// Do implements the policy.Transporter interface for OperationsServerTransport. -func (o *OperationsServerTransport) Do(req *http.Request) (*http.Response, error) { - rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) - method, ok := rawMethod.(string) - if !ok { - return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} - } - - var resp *http.Response - var err error - - switch method { - case "OperationsClient.NewListPager": - resp, err = o.dispatchNewListPager(req) - default: - err = fmt.Errorf("unhandled API %s", method) - } - - if err != nil { - return nil, err - } - - return resp, nil -} - -func (o *OperationsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { - if o.srv.NewListPager == nil { - return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} - } - newListPager := o.newListPager.get(req) - if newListPager == nil { - resp := o.srv.NewListPager(nil) - newListPager = &resp - o.newListPager.add(req, newListPager) - server.PagerResponderInjectNextLinks(newListPager, req, func(page *armservicelinker.OperationsClientListResponse, createLink func() string) { - page.NextLink = to.Ptr(createLink()) - }) - } - resp, err := server.PagerResponderNext(newListPager, req) - if err != nil { - return nil, err - } - if !contains([]int{http.StatusOK}, resp.StatusCode) { - o.newListPager.remove(req) - return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} - } - if !server.PagerResponderMore(newListPager) { - o.newListPager.remove(req) - } - return resp, nil -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/server_factory.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/server_factory.go index f4c63816bbe1..a9512b35d402 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/server_factory.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/fake/server_factory.go @@ -19,8 +19,7 @@ import ( // ServerFactory is a fake server for instances of the armservicelinker.ClientFactory type. type ServerFactory struct { - LinkerServer LinkerServer - OperationsServer OperationsServer + LinkerServer LinkerServer } // NewServerFactoryTransport creates a new instance of ServerFactoryTransport with the provided implementation. @@ -35,10 +34,9 @@ func NewServerFactoryTransport(srv *ServerFactory) *ServerFactoryTransport { // ServerFactoryTransport connects instances of armservicelinker.ClientFactory to instances of ServerFactory. // Don't use this type directly, use NewServerFactoryTransport instead. type ServerFactoryTransport struct { - srv *ServerFactory - trMu sync.Mutex - trLinkerServer *LinkerServerTransport - trOperationsServer *OperationsServerTransport + srv *ServerFactory + trMu sync.Mutex + trLinkerServer *LinkerServerTransport } // Do implements the policy.Transporter interface for ServerFactoryTransport. @@ -57,9 +55,6 @@ func (s *ServerFactoryTransport) Do(req *http.Request) (*http.Response, error) { case "LinkerClient": initServer(s, &s.trLinkerServer, func() *LinkerServerTransport { return NewLinkerServerTransport(&s.srv.LinkerServer) }) resp, err = s.trLinkerServer.Do(req) - case "OperationsClient": - initServer(s, &s.trOperationsServer, func() *OperationsServerTransport { return NewOperationsServerTransport(&s.srv.OperationsServer) }) - resp, err = s.trOperationsServer.Do(req) default: err = fmt.Errorf("unhandled client %s", client) } diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/time_rfc3339.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/time_rfc3339.go index b0535a7b63e6..81f308b0d343 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/time_rfc3339.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/fake/time_rfc3339.go @@ -19,12 +19,16 @@ import ( ) // Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases. -var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`) +var tzOffsetRegex = regexp.MustCompile(`(?:Z|z|\+|-)(?:\d+:\d+)*"*$`) const ( - utcDateTimeJSON = `"2006-01-02T15:04:05.999999999"` - utcDateTime = "2006-01-02T15:04:05.999999999" - dateTimeJSON = `"` + time.RFC3339Nano + `"` + utcDateTime = "2006-01-02T15:04:05.999999999" + utcDateTimeJSON = `"` + utcDateTime + `"` + utcDateTimeNoT = "2006-01-02 15:04:05.999999999" + utcDateTimeJSONNoT = `"` + utcDateTimeNoT + `"` + dateTimeNoT = `2006-01-02 15:04:05.999999999Z07:00` + dateTimeJSON = `"` + time.RFC3339Nano + `"` + dateTimeJSONNoT = `"` + dateTimeNoT + `"` ) type dateTimeRFC3339 time.Time @@ -40,17 +44,33 @@ func (t dateTimeRFC3339) MarshalText() ([]byte, error) { } func (t *dateTimeRFC3339) UnmarshalJSON(data []byte) error { - layout := utcDateTimeJSON - if tzOffsetRegex.Match(data) { + tzOffset := tzOffsetRegex.Match(data) + hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t") + var layout string + if tzOffset && hasT { layout = dateTimeJSON + } else if tzOffset { + layout = dateTimeJSONNoT + } else if hasT { + layout = utcDateTimeJSON + } else { + layout = utcDateTimeJSONNoT } return t.Parse(layout, string(data)) } func (t *dateTimeRFC3339) UnmarshalText(data []byte) error { - layout := utcDateTime - if tzOffsetRegex.Match(data) { + tzOffset := tzOffsetRegex.Match(data) + hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t") + var layout string + if tzOffset && hasT { layout = time.RFC3339Nano + } else if tzOffset { + layout = dateTimeNoT + } else if hasT { + layout = utcDateTime + } else { + layout = utcDateTimeNoT } return t.Parse(layout, string(data)) } @@ -61,6 +81,10 @@ func (t *dateTimeRFC3339) Parse(layout, value string) error { return err } +func (t dateTimeRFC3339) String() string { + return time.Time(t).Format(time.RFC3339Nano) +} + func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { if t == nil { return @@ -74,7 +98,7 @@ func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { } func unpopulateDateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { - if data == nil || strings.EqualFold(string(data), "null") { + if data == nil || string(data) == "null" { return nil } var aux dateTimeRFC3339 diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/go.mod b/sdk/resourcemanager/servicelinker/armservicelinker/go.mod index 5326cc9f0b1b..fd0e7309c37a 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/go.mod +++ b/sdk/resourcemanager/servicelinker/armservicelinker/go.mod @@ -1,21 +1,11 @@ -module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker +module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker/v2 go 1.18 -require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 -) +require github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 // indirect - github.com/golang-jwt/jwt/v5 v5.0.0 // indirect - github.com/google/uuid v1.3.1 // indirect - github.com/kylelemons/godebug v1.1.0 // indirect - github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect - golang.org/x/crypto v0.19.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect ) diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/go.sum b/sdk/resourcemanager/servicelinker/armservicelinker/go.sum index 0766d184c256..8e1b70aaca5f 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/go.sum +++ b/sdk/resourcemanager/servicelinker/armservicelinker/go.sum @@ -1,31 +1,12 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 h1:c4k2FIYIh4xtwqrQwV0Ct1v5+ehlNXj5NI/MWVsiTkQ= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2/go.mod h1:5FDJtLEO/GxwNgUxbwrY3LP0pEoThTQJtk2oysdXHxM= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs= github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 h1:LqbJ/WzJUwBf8UiaSzgX7aMclParm9/5Vgp+TY51uBQ= github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2/go.mod h1:yInRyqWXAuaPrgI7p70+lDDgh3mlBohis29jGMISnmc= -github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk= -github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= -github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.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/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go b/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go index 80dff81fd046..f6274d178d36 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go @@ -240,58 +240,6 @@ func (client *LinkerClient) getHandleResponse(resp *http.Response) (LinkerClient return result, nil } -// NewListPager - Returns list of Linkers which connects to the resource. -// -// Generated from API version 2022-05-01 -// - resourceURI - The fully qualified Azure Resource manager identifier of the resource to be connected. -// - options - LinkerClientListOptions contains the optional parameters for the LinkerClient.NewListPager method. -func (client *LinkerClient) NewListPager(resourceURI string, options *LinkerClientListOptions) *runtime.Pager[LinkerClientListResponse] { - return runtime.NewPager(runtime.PagingHandler[LinkerClientListResponse]{ - More: func(page LinkerClientListResponse) bool { - return page.NextLink != nil && len(*page.NextLink) > 0 - }, - Fetcher: func(ctx context.Context, page *LinkerClientListResponse) (LinkerClientListResponse, error) { - ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LinkerClient.NewListPager") - nextLink := "" - if page != nil { - nextLink = *page.NextLink - } - resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { - return client.listCreateRequest(ctx, resourceURI, options) - }, nil) - if err != nil { - return LinkerClientListResponse{}, err - } - return client.listHandleResponse(resp) - }, - Tracer: client.internal.Tracer(), - }) -} - -// listCreateRequest creates the List request. -func (client *LinkerClient) listCreateRequest(ctx context.Context, resourceURI string, options *LinkerClientListOptions) (*policy.Request, error) { - urlPath := "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers" - urlPath = strings.ReplaceAll(urlPath, "{resourceUri}", resourceURI) - req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) - if err != nil { - return nil, err - } - reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-01") - req.Raw().URL.RawQuery = reqQP.Encode() - req.Raw().Header["Accept"] = []string{"application/json"} - return req, nil -} - -// listHandleResponse handles the List response. -func (client *LinkerClient) listHandleResponse(resp *http.Response) (LinkerClientListResponse, error) { - result := LinkerClientListResponse{} - if err := runtime.UnmarshalAsJSON(resp, &result.LinkerList); err != nil { - return LinkerClientListResponse{}, err - } - return result, nil -} - // ListConfigurations - list source configurations for a linker. // If the operation fails it returns an *azcore.ResponseError type. // diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/linker_client_example_test.go b/sdk/resourcemanager/servicelinker/armservicelinker/linker_client_example_test.go deleted file mode 100644 index 99611020b7d2..000000000000 --- a/sdk/resourcemanager/servicelinker/armservicelinker/linker_client_example_test.go +++ /dev/null @@ -1,417 +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. -// DO NOT EDIT. - -package armservicelinker_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/servicelinker/armservicelinker" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/LinkList.json -func ExampleLinkerClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLinkerClient().NewListPager("subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LinkerList = armservicelinker.LinkerList{ - // Value: []*armservicelinker.LinkerResource{ - // { - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/links/linkName"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.SecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // Name: to.Ptr("username"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // }, - // }, - // SystemData: &armservicelinker.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-12T22:05:09.000Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/Link.json -func ExampleLinkerClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLinkerClient().Get(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LinkerResource = armservicelinker.LinkerResource{ - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.SecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // Name: to.Ptr("name"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // }, - // }, - // SystemData: &armservicelinker.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-12T22:05:09.000Z"); return t}()), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/PutLink.json -func ExampleLinkerClient_BeginCreateOrUpdate_putLink() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginCreateOrUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", armservicelinker.LinkerResource{ - Properties: &armservicelinker.LinkerProperties{ - AuthInfo: &armservicelinker.SecretAuthInfo{ - AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - Name: to.Ptr("name"), - SecretInfo: &armservicelinker.ValueSecretInfo{ - SecretType: to.Ptr(armservicelinker.SecretTypeRawValue), - Value: to.Ptr("secret"), - }, - }, - TargetService: &armservicelinker.AzureResource{ - Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db"), - }, - }, - }, 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) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LinkerResource = armservicelinker.LinkerResource{ - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.SecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // Name: to.Ptr("name"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db"), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/PutLinkWithSecretStore.json -func ExampleLinkerClient_BeginCreateOrUpdate_putLinkWithSecretStore() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginCreateOrUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", armservicelinker.LinkerResource{ - Properties: &armservicelinker.LinkerProperties{ - AuthInfo: &armservicelinker.SecretAuthInfo{ - AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - }, - SecretStore: &armservicelinker.SecretStore{ - KeyVaultID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv"), - }, - TargetService: &armservicelinker.AzureResource{ - Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - }, - }, - }, 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) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LinkerResource = armservicelinker.LinkerResource{ - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.SecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // }, - // SecretStore: &armservicelinker.SecretStore{ - // KeyVaultID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/PutLinkWithServiceEndpoint.json -func ExampleLinkerClient_BeginCreateOrUpdate_putLinkWithServiceEndpoint() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginCreateOrUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", armservicelinker.LinkerResource{ - Properties: &armservicelinker.LinkerProperties{ - AuthInfo: &armservicelinker.SecretAuthInfo{ - AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - Name: to.Ptr("name"), - SecretInfo: &armservicelinker.KeyVaultSecretURISecretInfo{ - SecretType: to.Ptr(armservicelinker.SecretTypeKeyVaultSecretURI), - Value: to.Ptr("https://vault-name.vault.azure.net/secrets/secret-name/00000000000000000000000000000000"), - }, - }, - TargetService: &armservicelinker.AzureResource{ - Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db"), - }, - VNetSolution: &armservicelinker.VNetSolution{ - Type: to.Ptr(armservicelinker.VNetSolutionTypeServiceEndpoint), - }, - }, - }, 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) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LinkerResource = armservicelinker.LinkerResource{ - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.SecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // Name: to.Ptr("name"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db"), - // }, - // VNetSolution: &armservicelinker.VNetSolution{ - // Type: to.Ptr(armservicelinker.VNetSolutionTypeServiceEndpoint), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/DeleteLink.json -func ExampleLinkerClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginDelete(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", 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/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/PatchLink.json -func ExampleLinkerClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", armservicelinker.LinkerPatch{ - Properties: &armservicelinker.LinkerProperties{ - AuthInfo: &armservicelinker.ServicePrincipalSecretAuthInfo{ - AuthType: to.Ptr(armservicelinker.AuthTypeServicePrincipalSecret), - ClientID: to.Ptr("name"), - PrincipalID: to.Ptr("id"), - Secret: to.Ptr("secret"), - }, - TargetService: &armservicelinker.AzureResource{ - Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - }, - }, - }, 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) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LinkerResource = armservicelinker.LinkerResource{ - // Name: to.Ptr("linkName"), - // Type: to.Ptr("Microsoft.ServiceLinker/links"), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName"), - // Properties: &armservicelinker.LinkerProperties{ - // AuthInfo: &armservicelinker.ServicePrincipalSecretAuthInfo{ - // AuthType: to.Ptr(armservicelinker.AuthTypeServicePrincipalSecret), - // ClientID: to.Ptr("name"), - // PrincipalID: to.Ptr("id"), - // }, - // TargetService: &armservicelinker.AzureResource{ - // Type: to.Ptr(armservicelinker.TargetServiceTypeAzureResource), - // ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/ValidateLinkSuccess.json -func ExampleLinkerClient_BeginValidate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLinkerClient().BeginValidate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", 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) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ValidateOperationResult = armservicelinker.ValidateOperationResult{ - // Properties: &armservicelinker.ValidateResult{ - // AuthType: to.Ptr(armservicelinker.AuthTypeSecret), - // IsConnectionAvailable: to.Ptr(true), - // LinkerName: to.Ptr("linkName"), - // ReportEndTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-12T22:06:09.000Z"); return t}()), - // ReportStartTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-12T22:05:09.000Z"); return t}()), - // SourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // TargetID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db"), - // ValidationDetail: []*armservicelinker.ValidationResultItem{ - // { - // Name: to.Ptr("TargetExistence"), - // Description: to.Ptr("The target existence is validated"), - // Result: to.Ptr(armservicelinker.ValidationResultStatusSuccess), - // }, - // { - // Name: to.Ptr("TargetNetworkAccess"), - // Description: to.Ptr("Deny public network access is set to yes. Please confirm you are using private endpoint connection to access target resource."), - // Result: to.Ptr(armservicelinker.ValidationResultStatusWarning), - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/GetConfigurations.json -func ExampleLinkerClient_ListConfigurations() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLinkerClient().ListConfigurations(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", "linkName", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SourceConfigurationResult = armservicelinker.SourceConfigurationResult{ - // Configurations: []*armservicelinker.SourceConfiguration{ - // { - // Name: to.Ptr("ASL_DocumentDb_ConnectionString"), - // Value: to.Ptr("ConnectionString"), - // }}, - // } -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/models.go b/sdk/resourcemanager/servicelinker/armservicelinker/models.go index b0dc7cf09112..cde58ba6ece8 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/models.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/models.go @@ -226,55 +226,6 @@ type LinkerResource struct { Type *string } -// Operation - Details of a REST API operation, returned from the Resource Provider Operations API -type Operation struct { - // Localized display information for this particular operation. - Display *OperationDisplay - - // READ-ONLY; Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. - ActionType *ActionType - - // READ-ONLY; Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for ARM/control-plane - // operations. - IsDataAction *bool - - // READ-ONLY; The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", - // "Microsoft.Compute/virtualMachines/capture/action" - Name *string - - // READ-ONLY; The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default - // value is "user,system" - Origin *Origin -} - -// OperationDisplay - Localized display information for this particular operation. -type OperationDisplay struct { - // READ-ONLY; The short, localized friendly description of the operation; suitable for tool tips and detailed views. - Description *string - - // READ-ONLY; The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual - // Machine", "Restart Virtual Machine". - Operation *string - - // READ-ONLY; The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft - // Compute". - Provider *string - - // READ-ONLY; The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job - // Schedule Collections". - Resource *string -} - -// OperationListResult - A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to -// get the next set of results. -type OperationListResult struct { - // READ-ONLY; URL to get the next set of operation list results (if there are any). - NextLink *string - - // READ-ONLY; List of operations supported by the resource provider - Value []*Operation -} - // ProxyResource - The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a // location type ProxyResource struct { diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go b/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go index e96a4d961f98..19b9f1ed1ae2 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go @@ -516,119 +516,6 @@ func (l *LinkerResource) UnmarshalJSON(data []byte) error { return nil } -// MarshalJSON implements the json.Marshaller interface for type Operation. -func (o Operation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]any) - populate(objectMap, "actionType", o.ActionType) - populate(objectMap, "display", o.Display) - populate(objectMap, "isDataAction", o.IsDataAction) - populate(objectMap, "name", o.Name) - populate(objectMap, "origin", o.Origin) - return json.Marshal(objectMap) -} - -// UnmarshalJSON implements the json.Unmarshaller interface for type Operation. -func (o *Operation) 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", o, err) - } - for key, val := range rawMsg { - var err error - switch key { - case "actionType": - err = unpopulate(val, "ActionType", &o.ActionType) - delete(rawMsg, key) - case "display": - err = unpopulate(val, "Display", &o.Display) - delete(rawMsg, key) - case "isDataAction": - err = unpopulate(val, "IsDataAction", &o.IsDataAction) - delete(rawMsg, key) - case "name": - err = unpopulate(val, "Name", &o.Name) - delete(rawMsg, key) - case "origin": - err = unpopulate(val, "Origin", &o.Origin) - delete(rawMsg, key) - } - if err != nil { - return fmt.Errorf("unmarshalling type %T: %v", o, err) - } - } - return nil -} - -// MarshalJSON implements the json.Marshaller interface for type OperationDisplay. -func (o OperationDisplay) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]any) - populate(objectMap, "description", o.Description) - populate(objectMap, "operation", o.Operation) - populate(objectMap, "provider", o.Provider) - populate(objectMap, "resource", o.Resource) - return json.Marshal(objectMap) -} - -// UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay. -func (o *OperationDisplay) 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", o, err) - } - for key, val := range rawMsg { - var err error - switch key { - case "description": - err = unpopulate(val, "Description", &o.Description) - delete(rawMsg, key) - case "operation": - err = unpopulate(val, "Operation", &o.Operation) - delete(rawMsg, key) - case "provider": - err = unpopulate(val, "Provider", &o.Provider) - delete(rawMsg, key) - case "resource": - err = unpopulate(val, "Resource", &o.Resource) - delete(rawMsg, key) - } - if err != nil { - return fmt.Errorf("unmarshalling type %T: %v", o, err) - } - } - return nil -} - -// MarshalJSON implements the json.Marshaller interface for type OperationListResult. -func (o OperationListResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]any) - populate(objectMap, "nextLink", o.NextLink) - populate(objectMap, "value", o.Value) - return json.Marshal(objectMap) -} - -// UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult. -func (o *OperationListResult) 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", o, err) - } - for key, val := range rawMsg { - var err error - switch key { - case "nextLink": - err = unpopulate(val, "NextLink", &o.NextLink) - delete(rawMsg, key) - case "value": - err = unpopulate(val, "Value", &o.Value) - delete(rawMsg, key) - } - if err != nil { - return fmt.Errorf("unmarshalling type %T: %v", o, err) - } - } - return nil -} - // MarshalJSON implements the json.Marshaller interface for type ProxyResource. func (p ProxyResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) @@ -1272,7 +1159,7 @@ func populateAny(m map[string]any, k string, v any) { } func unpopulate(data json.RawMessage, fn string, v any) error { - if data == nil { + if data == nil || string(data) == "null" { return nil } if err := json.Unmarshal(data, v); err != nil { diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/operations_client.go b/sdk/resourcemanager/servicelinker/armservicelinker/operations_client.go deleted file mode 100644 index 5bdce00aba75..000000000000 --- a/sdk/resourcemanager/servicelinker/armservicelinker/operations_client.go +++ /dev/null @@ -1,88 +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. DO NOT EDIT. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -package armservicelinker - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" - "net/http" -) - -// OperationsClient contains the methods for the Operations group. -// Don't use this type directly, use NewOperationsClient() instead. -type OperationsClient struct { - internal *arm.Client -} - -// 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. -func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error) { - cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) - if err != nil { - return nil, err - } - client := &OperationsClient{ - internal: cl, - } - return client, nil -} - -// NewListPager - Lists the available ServiceLinker REST API operations. -// -// Generated from API version 2022-05-01 -// - 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 { - return page.NextLink != nil && len(*page.NextLink) > 0 - }, - Fetcher: func(ctx context.Context, page *OperationsClientListResponse) (OperationsClientListResponse, error) { - ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "OperationsClient.NewListPager") - nextLink := "" - if page != nil { - nextLink = *page.NextLink - } - resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { - return client.listCreateRequest(ctx, options) - }, nil) - if err != nil { - return OperationsClientListResponse{}, err - } - return client.listHandleResponse(resp) - }, - Tracer: client.internal.Tracer(), - }) -} - -// listCreateRequest creates the List request. -func (client *OperationsClient) listCreateRequest(ctx context.Context, options *OperationsClientListOptions) (*policy.Request, error) { - urlPath := "/providers/Microsoft.ServiceLinker/operations" - req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) - if err != nil { - return nil, err - } - reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2022-05-01") - req.Raw().URL.RawQuery = reqQP.Encode() - req.Raw().Header["Accept"] = []string{"application/json"} - return req, nil -} - -// listHandleResponse handles the List response. -func (client *OperationsClient) listHandleResponse(resp *http.Response) (OperationsClientListResponse, error) { - result := OperationsClientListResponse{} - if err := runtime.UnmarshalAsJSON(resp, &result.OperationListResult); err != nil { - return OperationsClientListResponse{}, err - } - return result, nil -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/operations_client_example_test.go b/sdk/resourcemanager/servicelinker/armservicelinker/operations_client_example_test.go deleted file mode 100644 index 723bd6d8680e..000000000000 --- a/sdk/resourcemanager/servicelinker/armservicelinker/operations_client_example_test.go +++ /dev/null @@ -1,216 +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. -// DO NOT EDIT. - -package armservicelinker_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicelinker/armservicelinker" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/stable/2022-05-01/examples/OperationsList.json -func ExampleOperationsClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armservicelinker.NewClientFactory(cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewOperationsClient().NewListPager(nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.OperationListResult = armservicelinker.OperationListResult{ - // Value: []*armservicelinker.Operation{ - // { - // Name: to.Ptr("Microsoft.ServiceLinker/register/action"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Register the subscription for Microsoft.ServiceLinker"), - // Operation: to.Ptr("Register the Microsoft.ServiceLinker"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("Microsoft.ServiceLinker"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/unregister/action"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Unregister the subscription for Microsoft.ServiceLinker"), - // Operation: to.Ptr("Unregister the Microsoft.ServiceLinker"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("Microsoft.ServiceLinker"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/operations/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("read operations"), - // Operation: to.Ptr("read_operations"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("operations"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/dryruns/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("list dryrun jobs"), - // Operation: to.Ptr("Dryrun_List"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("dryruns"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/dryruns/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("get a dryrun job"), - // Operation: to.Ptr("Dryrun_Get"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("dryruns"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/dryruns/write"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("create a dryrun job to do necessary check before actual creation"), - // Operation: to.Ptr("Dryrun_Create"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("dryruns"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/dryruns/delete"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("delete a dryrun job"), - // Operation: to.Ptr("Dryrun_Delete"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("dryruns"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/dryruns/write"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("add a dryrun job to do necessary check before actual creation"), - // Operation: to.Ptr("Dryrun_Update"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("dryruns"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/locations/operationStatuses/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("read operationStatuses"), - // Operation: to.Ptr("read_operationStatuses"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("locations/operationStatuses"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/locations/operationStatuses/write"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("write operationStatuses"), - // Operation: to.Ptr("write_operationStatuses"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("locations/operationStatuses"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Returns list of Linkers which connects to the resource."), - // Operation: to.Ptr("Linker_List"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/read"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Returns Linker resource for a given name."), - // Operation: to.Ptr("Linker_Get"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/write"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Create or update linker resource."), - // Operation: to.Ptr("Linker_CreateOrUpdate"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/delete"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Delete a link."), - // Operation: to.Ptr("Linker_Delete"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/write"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Operation to update an existing link."), - // Operation: to.Ptr("Linker_Update"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/validateLinker/action"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("Validate a link."), - // Operation: to.Ptr("Linker_Validate"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }, - // { - // Name: to.Ptr("Microsoft.ServiceLinker/linkers/listConfigurations/action"), - // Display: &armservicelinker.OperationDisplay{ - // Description: to.Ptr("list source configurations for a linker."), - // Operation: to.Ptr("Linker_ListConfigurations"), - // Provider: to.Ptr("Microsoft.ServiceLinker"), - // Resource: to.Ptr("linkers"), - // }, - // IsDataAction: to.Ptr(false), - // }}, - // } - } -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/options.go b/sdk/resourcemanager/servicelinker/armservicelinker/options.go index 8b543903efd7..07c80d556b9d 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/options.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/options.go @@ -41,13 +41,3 @@ type LinkerClientGetOptions struct { type LinkerClientListConfigurationsOptions struct { // placeholder for future optional parameters } - -// LinkerClientListOptions contains the optional parameters for the LinkerClient.NewListPager method. -type LinkerClientListOptions struct { - // placeholder for future optional parameters -} - -// OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method. -type OperationsClientListOptions struct { - // placeholder for future optional parameters -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/polymorphic_helpers.go b/sdk/resourcemanager/servicelinker/armservicelinker/polymorphic_helpers.go index d726b1aadc90..8738dca5dae1 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/polymorphic_helpers.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/polymorphic_helpers.go @@ -11,7 +11,7 @@ package armservicelinker import "encoding/json" func unmarshalAuthInfoBaseClassification(rawMsg json.RawMessage) (AuthInfoBaseClassification, error) { - if rawMsg == nil { + if rawMsg == nil || string(rawMsg) == "null" { return nil, nil } var m map[string]any @@ -40,7 +40,7 @@ func unmarshalAuthInfoBaseClassification(rawMsg json.RawMessage) (AuthInfoBaseCl } func unmarshalAzureResourcePropertiesBaseClassification(rawMsg json.RawMessage) (AzureResourcePropertiesBaseClassification, error) { - if rawMsg == nil { + if rawMsg == nil || string(rawMsg) == "null" { return nil, nil } var m map[string]any @@ -61,7 +61,7 @@ func unmarshalAzureResourcePropertiesBaseClassification(rawMsg json.RawMessage) } func unmarshalSecretInfoBaseClassification(rawMsg json.RawMessage) (SecretInfoBaseClassification, error) { - if rawMsg == nil { + if rawMsg == nil || string(rawMsg) == "null" { return nil, nil } var m map[string]any @@ -86,7 +86,7 @@ func unmarshalSecretInfoBaseClassification(rawMsg json.RawMessage) (SecretInfoBa } func unmarshalTargetServiceBaseClassification(rawMsg json.RawMessage) (TargetServiceBaseClassification, error) { - if rawMsg == nil { + if rawMsg == nil || string(rawMsg) == "null" { return nil, nil } var m map[string]any diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/response_types.go b/sdk/resourcemanager/servicelinker/armservicelinker/responses.go similarity index 78% rename from sdk/resourcemanager/servicelinker/armservicelinker/response_types.go rename to sdk/resourcemanager/servicelinker/armservicelinker/responses.go index b4392b117ac2..82a9ce2133fc 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/response_types.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/responses.go @@ -31,12 +31,6 @@ type LinkerClientListConfigurationsResponse struct { SourceConfigurationResult } -// LinkerClientListResponse contains the response from method LinkerClient.NewListPager. -type LinkerClientListResponse struct { - // The list of Linker. - LinkerList -} - // LinkerClientUpdateResponse contains the response from method LinkerClient.BeginUpdate. type LinkerClientUpdateResponse struct { // Linker of source and target resource @@ -48,9 +42,3 @@ type LinkerClientValidateResponse struct { // The validation operation result for a linker. ValidateOperationResult } - -// OperationsClientListResponse contains the response from method OperationsClient.NewListPager. -type OperationsClientListResponse struct { - // A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. - OperationListResult -} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/time_rfc3339.go b/sdk/resourcemanager/servicelinker/armservicelinker/time_rfc3339.go index 75d714c9e72e..13c793f69431 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/time_rfc3339.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/time_rfc3339.go @@ -19,12 +19,16 @@ import ( ) // Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases. -var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`) +var tzOffsetRegex = regexp.MustCompile(`(?:Z|z|\+|-)(?:\d+:\d+)*"*$`) const ( - utcDateTimeJSON = `"2006-01-02T15:04:05.999999999"` - utcDateTime = "2006-01-02T15:04:05.999999999" - dateTimeJSON = `"` + time.RFC3339Nano + `"` + utcDateTime = "2006-01-02T15:04:05.999999999" + utcDateTimeJSON = `"` + utcDateTime + `"` + utcDateTimeNoT = "2006-01-02 15:04:05.999999999" + utcDateTimeJSONNoT = `"` + utcDateTimeNoT + `"` + dateTimeNoT = `2006-01-02 15:04:05.999999999Z07:00` + dateTimeJSON = `"` + time.RFC3339Nano + `"` + dateTimeJSONNoT = `"` + dateTimeNoT + `"` ) type dateTimeRFC3339 time.Time @@ -40,17 +44,33 @@ func (t dateTimeRFC3339) MarshalText() ([]byte, error) { } func (t *dateTimeRFC3339) UnmarshalJSON(data []byte) error { - layout := utcDateTimeJSON - if tzOffsetRegex.Match(data) { + tzOffset := tzOffsetRegex.Match(data) + hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t") + var layout string + if tzOffset && hasT { layout = dateTimeJSON + } else if tzOffset { + layout = dateTimeJSONNoT + } else if hasT { + layout = utcDateTimeJSON + } else { + layout = utcDateTimeJSONNoT } return t.Parse(layout, string(data)) } func (t *dateTimeRFC3339) UnmarshalText(data []byte) error { - layout := utcDateTime - if tzOffsetRegex.Match(data) { + tzOffset := tzOffsetRegex.Match(data) + hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t") + var layout string + if tzOffset && hasT { layout = time.RFC3339Nano + } else if tzOffset { + layout = dateTimeNoT + } else if hasT { + layout = utcDateTime + } else { + layout = utcDateTimeNoT } return t.Parse(layout, string(data)) } @@ -61,6 +81,10 @@ func (t *dateTimeRFC3339) Parse(layout, value string) error { return err } +func (t dateTimeRFC3339) String() string { + return time.Time(t).Format(time.RFC3339Nano) +} + func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { if t == nil { return @@ -74,7 +98,7 @@ func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { } func unpopulateDateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { - if data == nil || strings.EqualFold(string(data), "null") { + if data == nil || string(data) == "null" { return nil } var aux dateTimeRFC3339