diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md b/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md index 352297a7a11b..1aaf5796e9c7 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md +++ b/sdk/resourcemanager/servicelinker/armservicelinker/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.0.0 (2024-03-19) +### Breaking Changes + +- Function `*LinkerClient.BeginDelete` 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..8f520272a9c6 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,25 @@ 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 + return &LinkerClient{ + internal: c.internal, + } } // NewOperationsClient creates a new instance of OperationsClient. func (c *ClientFactory) NewOperationsClient() *OperationsClient { - subClient, _ := NewOperationsClient(c.credential, c.options) - return subClient + return &OperationsClient{ + internal: c.internal, + } } diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/constants.go b/sdk/resourcemanager/servicelinker/armservicelinker/constants.go index 122446be45ff..2ad7347bfe04 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/constants.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/constants.go @@ -10,7 +10,7 @@ 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. @@ -67,16 +67,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 +87,7 @@ func PossibleClientTypeValues() []ClientType { ClientTypeDotnet, ClientTypeGo, ClientTypeJava, + ClientTypeKafkaSpringBoot, ClientTypeNodejs, ClientTypeNone, ClientTypePhp, diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go index 229a2c979d7d..b32c43a0acf3 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/fake/linker_server.go @@ -16,7 +16,7 @@ import ( "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" @@ -28,10 +28,6 @@ type LinkerServer struct { // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated BeginCreateOrUpdate func(ctx context.Context, resourceURI string, linkerName string, parameters armservicelinker.LinkerResource, options *armservicelinker.LinkerClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armservicelinker.LinkerClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) - // BeginDelete is the fake for method LinkerClient.BeginDelete - // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent - BeginDelete func(ctx context.Context, resourceURI string, linkerName string, options *armservicelinker.LinkerClientBeginDeleteOptions) (resp azfake.PollerResponder[armservicelinker.LinkerClientDeleteResponse], errResp azfake.ErrorResponder) - // Get is the fake for method LinkerClient.Get // 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) @@ -60,7 +56,6 @@ func NewLinkerServerTransport(srv *LinkerServer) *LinkerServerTransport { return &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]](), @@ -72,7 +67,6 @@ func NewLinkerServerTransport(srv *LinkerServer) *LinkerServerTransport { 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]] @@ -92,8 +86,6 @@ func (l *LinkerServerTransport) Do(req *http.Request) (*http.Response, error) { switch method { case "LinkerClient.BeginCreateOrUpdate": resp, err = l.dispatchBeginCreateOrUpdate(req) - case "LinkerClient.BeginDelete": - resp, err = l.dispatchBeginDelete(req) case "LinkerClient.Get": resp, err = l.dispatchGet(req) case "LinkerClient.NewListPager": @@ -163,50 +155,6 @@ func (l *LinkerServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) ( return resp, nil } -func (l *LinkerServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { - if l.srv.BeginDelete == nil { - return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} - } - beginDelete := l.beginDelete.get(req) - if beginDelete == nil { - const regexStr = `/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.ServiceLinker/linkers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` - regex := regexp.MustCompile(regexStr) - matches := regex.FindStringSubmatch(req.URL.EscapedPath()) - if matches == nil || len(matches) < 2 { - 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 - } - linkerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("linkerName")]) - if err != nil { - return nil, err - } - respr, errRespr := l.srv.BeginDelete(req.Context(), resourceURIParam, linkerNameParam, nil) - if respErr := server.GetError(errRespr, req); respErr != nil { - return nil, respErr - } - beginDelete = &respr - l.beginDelete.add(req, beginDelete) - } - - resp, err := server.PollerResponderNext(beginDelete, req) - if err != nil { - return nil, err - } - - if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { - l.beginDelete.remove(req) - return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} - } - if !server.PollerResponderMore(beginDelete) { - l.beginDelete.remove(req) - } - - return resp, nil -} - func (l *LinkerServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { if l.srv.Get == nil { return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} diff --git a/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go b/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go index f4b22870d24a..85ea0174cd3a 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/fake/operations_server.go @@ -15,7 +15,7 @@ import ( "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" ) 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..f60a6043df49 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/linker_client.go @@ -114,75 +114,6 @@ func (client *LinkerClient) createOrUpdateCreateRequest(ctx context.Context, res return req, nil } -// BeginDelete - Delete a link. -// If the operation fails it returns an *azcore.ResponseError type. -// -// Generated from API version 2022-05-01 -// - resourceURI - The fully qualified Azure Resource manager identifier of the resource to be connected. -// - linkerName - The name Linker resource. -// - options - LinkerClientBeginDeleteOptions contains the optional parameters for the LinkerClient.BeginDelete method. -func (client *LinkerClient) BeginDelete(ctx context.Context, resourceURI string, linkerName string, options *LinkerClientBeginDeleteOptions) (*runtime.Poller[LinkerClientDeleteResponse], error) { - if options == nil || options.ResumeToken == "" { - resp, err := client.deleteOperation(ctx, resourceURI, linkerName, options) - if err != nil { - return nil, err - } - poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LinkerClientDeleteResponse]{ - FinalStateVia: runtime.FinalStateViaAzureAsyncOp, - Tracer: client.internal.Tracer(), - }) - return poller, err - } else { - return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LinkerClientDeleteResponse]{ - Tracer: client.internal.Tracer(), - }) - } -} - -// Delete - Delete a link. -// If the operation fails it returns an *azcore.ResponseError type. -// -// Generated from API version 2022-05-01 -func (client *LinkerClient) deleteOperation(ctx context.Context, resourceURI string, linkerName string, options *LinkerClientBeginDeleteOptions) (*http.Response, error) { - var err error - const operationName = "LinkerClient.BeginDelete" - ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) - ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) - defer func() { endSpan(err) }() - req, err := client.deleteCreateRequest(ctx, resourceURI, linkerName, options) - if err != nil { - return nil, err - } - httpResp, err := client.internal.Pipeline().Do(req) - if err != nil { - return nil, err - } - if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) { - err = runtime.NewResponseError(httpResp) - return nil, err - } - return httpResp, nil -} - -// deleteCreateRequest creates the Delete request. -func (client *LinkerClient) deleteCreateRequest(ctx context.Context, resourceURI string, linkerName string, options *LinkerClientBeginDeleteOptions) (*policy.Request, error) { - urlPath := "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}" - urlPath = strings.ReplaceAll(urlPath, "{resourceUri}", resourceURI) - if linkerName == "" { - return nil, errors.New("parameter linkerName cannot be empty") - } - urlPath = strings.ReplaceAll(urlPath, "{linkerName}", url.PathEscape(linkerName)) - req, err := runtime.NewRequest(ctx, http.MethodDelete, 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 -} - // Get - Returns Linker resource for a given name. // 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_serde.go b/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go index e96a4d961f98..66358f1e653b 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/models_serde.go @@ -1272,7 +1272,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_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..1c7f8bbc22ef 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/options.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/options.go @@ -14,12 +14,6 @@ type LinkerClientBeginCreateOrUpdateOptions struct { ResumeToken string } -// LinkerClientBeginDeleteOptions contains the optional parameters for the LinkerClient.BeginDelete method. -type LinkerClientBeginDeleteOptions struct { - // Resumes the LRO from the provided token. - ResumeToken string -} - // LinkerClientBeginUpdateOptions contains the optional parameters for the LinkerClient.BeginUpdate method. type LinkerClientBeginUpdateOptions struct { // Resumes the LRO from the provided token. 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 91% rename from sdk/resourcemanager/servicelinker/armservicelinker/response_types.go rename to sdk/resourcemanager/servicelinker/armservicelinker/responses.go index b4392b117ac2..406f36701d0a 100644 --- a/sdk/resourcemanager/servicelinker/armservicelinker/response_types.go +++ b/sdk/resourcemanager/servicelinker/armservicelinker/responses.go @@ -14,11 +14,6 @@ type LinkerClientCreateOrUpdateResponse struct { LinkerResource } -// LinkerClientDeleteResponse contains the response from method LinkerClient.BeginDelete. -type LinkerClientDeleteResponse struct { - // placeholder for future response values -} - // LinkerClientGetResponse contains the response from method LinkerClient.Get. type LinkerClientGetResponse struct { // Linker of source and target resource 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