diff --git a/profiles/latest/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go b/profiles/latest/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go index 99274caf975c..2f26f8ac0b68 100644 --- a/profiles/latest/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go +++ b/profiles/latest/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go @@ -23,5 +23,6 @@ import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/mg type AccountsClientAPI = original.AccountsClientAPI type CheckSkuAvailabilityClientAPI = original.CheckSkuAvailabilityClientAPI +type LocationsClientAPI = original.LocationsClientAPI type OperationsClientAPI = original.OperationsClientAPI type ResourceSkusClientAPI = original.ResourceSkusClientAPI diff --git a/profiles/latest/cognitiveservices/mgmt/cognitiveservices/models.go b/profiles/latest/cognitiveservices/mgmt/cognitiveservices/models.go index 4dce131ac4e0..831663ba680a 100644 --- a/profiles/latest/cognitiveservices/mgmt/cognitiveservices/models.go +++ b/profiles/latest/cognitiveservices/mgmt/cognitiveservices/models.go @@ -101,12 +101,15 @@ type AccountProperties = original.AccountProperties type AccountUpdateParameters = original.AccountUpdateParameters type AccountsClient = original.AccountsClient type BaseClient = original.BaseClient +type CheckDomainAvailabilityParameter = original.CheckDomainAvailabilityParameter +type CheckDomainAvailabilityResult = original.CheckDomainAvailabilityResult type CheckSkuAvailabilityClient = original.CheckSkuAvailabilityClient type CheckSkuAvailabilityParameter = original.CheckSkuAvailabilityParameter type CheckSkuAvailabilityResult = original.CheckSkuAvailabilityResult type CheckSkuAvailabilityResultList = original.CheckSkuAvailabilityResultList type Error = original.Error type ErrorBody = original.ErrorBody +type LocationsClient = original.LocationsClient type MetricName = original.MetricName type OperationDisplayInfo = original.OperationDisplayInfo type OperationEntity = original.OperationEntity @@ -148,6 +151,12 @@ func NewCheckSkuAvailabilityClient(subscriptionID string) CheckSkuAvailabilityCl func NewCheckSkuAvailabilityClientWithBaseURI(baseURI string, subscriptionID string) CheckSkuAvailabilityClient { return original.NewCheckSkuAvailabilityClientWithBaseURI(baseURI, subscriptionID) } +func NewLocationsClient(subscriptionID string) LocationsClient { + return original.NewLocationsClient(subscriptionID) +} +func NewLocationsClientWithBaseURI(baseURI string, subscriptionID string) LocationsClient { + return original.NewLocationsClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationEntityListResultIterator(page OperationEntityListResultPage) OperationEntityListResultIterator { return original.NewOperationEntityListResultIterator(page) } diff --git a/profiles/preview/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go b/profiles/preview/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go index 99274caf975c..2f26f8ac0b68 100644 --- a/profiles/preview/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go +++ b/profiles/preview/cognitiveservices/mgmt/cognitiveservices/cognitiveservicesapi/models.go @@ -23,5 +23,6 @@ import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/mg type AccountsClientAPI = original.AccountsClientAPI type CheckSkuAvailabilityClientAPI = original.CheckSkuAvailabilityClientAPI +type LocationsClientAPI = original.LocationsClientAPI type OperationsClientAPI = original.OperationsClientAPI type ResourceSkusClientAPI = original.ResourceSkusClientAPI diff --git a/profiles/preview/cognitiveservices/mgmt/cognitiveservices/models.go b/profiles/preview/cognitiveservices/mgmt/cognitiveservices/models.go index b00164142aeb..6d5098b9affb 100644 --- a/profiles/preview/cognitiveservices/mgmt/cognitiveservices/models.go +++ b/profiles/preview/cognitiveservices/mgmt/cognitiveservices/models.go @@ -101,12 +101,15 @@ type AccountProperties = original.AccountProperties type AccountUpdateParameters = original.AccountUpdateParameters type AccountsClient = original.AccountsClient type BaseClient = original.BaseClient +type CheckDomainAvailabilityParameter = original.CheckDomainAvailabilityParameter +type CheckDomainAvailabilityResult = original.CheckDomainAvailabilityResult type CheckSkuAvailabilityClient = original.CheckSkuAvailabilityClient type CheckSkuAvailabilityParameter = original.CheckSkuAvailabilityParameter type CheckSkuAvailabilityResult = original.CheckSkuAvailabilityResult type CheckSkuAvailabilityResultList = original.CheckSkuAvailabilityResultList type Error = original.Error type ErrorBody = original.ErrorBody +type LocationsClient = original.LocationsClient type MetricName = original.MetricName type OperationDisplayInfo = original.OperationDisplayInfo type OperationEntity = original.OperationEntity @@ -148,6 +151,12 @@ func NewCheckSkuAvailabilityClient(subscriptionID string) CheckSkuAvailabilityCl func NewCheckSkuAvailabilityClientWithBaseURI(baseURI string, subscriptionID string) CheckSkuAvailabilityClient { return original.NewCheckSkuAvailabilityClientWithBaseURI(baseURI, subscriptionID) } +func NewLocationsClient(subscriptionID string) LocationsClient { + return original.NewLocationsClient(subscriptionID) +} +func NewLocationsClientWithBaseURI(baseURI string, subscriptionID string) LocationsClient { + return original.NewLocationsClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationEntityListResultIterator(page OperationEntityListResultPage) OperationEntityListResultIterator { return original.NewOperationEntityListResultIterator(page) } diff --git a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/cognitiveservicesapi/interfaces.go b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/cognitiveservicesapi/interfaces.go index 30908e5de4e5..d858501e4123 100644 --- a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/cognitiveservicesapi/interfaces.go +++ b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/cognitiveservicesapi/interfaces.go @@ -59,3 +59,10 @@ type CheckSkuAvailabilityClientAPI interface { } var _ CheckSkuAvailabilityClientAPI = (*cognitiveservices.CheckSkuAvailabilityClient)(nil) + +// LocationsClientAPI contains the set of methods on the LocationsClient type. +type LocationsClientAPI interface { + CheckDomainAvailabilityPost(ctx context.Context, location string, parameters cognitiveservices.CheckDomainAvailabilityParameter) (result cognitiveservices.CheckDomainAvailabilityResult, err error) +} + +var _ LocationsClientAPI = (*cognitiveservices.LocationsClient)(nil) diff --git a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/locations.go b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/locations.go new file mode 100644 index 000000000000..a351bb403ca2 --- /dev/null +++ b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/locations.go @@ -0,0 +1,127 @@ +package cognitiveservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LocationsClient is the cognitive Services Management Client +type LocationsClient struct { + BaseClient +} + +// NewLocationsClient creates an instance of the LocationsClient client. +func NewLocationsClient(subscriptionID string) LocationsClient { + return NewLocationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLocationsClientWithBaseURI creates an instance of the LocationsClient client. +func NewLocationsClientWithBaseURI(baseURI string, subscriptionID string) LocationsClient { + return LocationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckDomainAvailabilityPost check available SKUs. +// Parameters: +// location - resource location. +// parameters - check Domain Availability POST body. +func (client LocationsClient) CheckDomainAvailabilityPost(ctx context.Context, location string, parameters CheckDomainAvailabilityParameter) (result CheckDomainAvailabilityResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocationsClient.CheckDomainAvailabilityPost") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.SubdomainName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("cognitiveservices.LocationsClient", "CheckDomainAvailabilityPost", err.Error()) + } + + req, err := client.CheckDomainAvailabilityPostPreparer(ctx, location, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.LocationsClient", "CheckDomainAvailabilityPost", nil, "Failure preparing request") + return + } + + resp, err := client.CheckDomainAvailabilityPostSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cognitiveservices.LocationsClient", "CheckDomainAvailabilityPost", resp, "Failure sending request") + return + } + + result, err = client.CheckDomainAvailabilityPostResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.LocationsClient", "CheckDomainAvailabilityPost", resp, "Failure responding to request") + } + + return +} + +// CheckDomainAvailabilityPostPreparer prepares the CheckDomainAvailabilityPost request. +func (client LocationsClient) CheckDomainAvailabilityPostPreparer(ctx context.Context, location string, parameters CheckDomainAvailabilityParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-18" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkDomainAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckDomainAvailabilityPostSender sends the CheckDomainAvailabilityPost request. The method will close the +// http.Response Body if it receives an error. +func (client LocationsClient) CheckDomainAvailabilityPostSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// CheckDomainAvailabilityPostResponder handles the response to the CheckDomainAvailabilityPost request. The method always +// closes the http.Response Body. +func (client LocationsClient) CheckDomainAvailabilityPostResponder(resp *http.Response) (result CheckDomainAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/models.go b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/models.go index 93b6e68402ff..5ac7c7dbff2b 100644 --- a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/models.go +++ b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/models.go @@ -540,6 +540,27 @@ func (aup AccountUpdateParameters) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// CheckDomainAvailabilityParameter check Domain availability parameter. +type CheckDomainAvailabilityParameter struct { + // SubdomainName - The subdomain name to use. + SubdomainName *string `json:"subdomainName,omitempty"` + // Type - The Type of the resource. + Type *string `json:"type,omitempty"` +} + +// CheckDomainAvailabilityResult check Domain availability result. +type CheckDomainAvailabilityResult struct { + autorest.Response `json:"-"` + // IsSubdomainAvailable - Indicates the given SKU is available or not. + IsSubdomainAvailable *bool `json:"isSubdomainAvailable,omitempty"` + // Reason - Reason why the SKU is not available. + Reason *string `json:"reason,omitempty"` + // SubdomainName - The subdomain name to use. + SubdomainName *string `json:"subdomainName,omitempty"` + // Type - The Type of the resource. + Type *string `json:"type,omitempty"` +} + // CheckSkuAvailabilityParameter check SKU availability parameter. type CheckSkuAvailabilityParameter struct { // Skus - The SKU of the resource.