diff --git a/profiles/latest/recoveryservices/mgmt/recoveryservices/models.go b/profiles/latest/recoveryservices/mgmt/recoveryservices/models.go index f1c1cb6d47c0..2572030482dc 100644 --- a/profiles/latest/recoveryservices/mgmt/recoveryservices/models.go +++ b/profiles/latest/recoveryservices/mgmt/recoveryservices/models.go @@ -84,6 +84,10 @@ const ( type BaseClient = original.BaseClient type BasicResourceCertificateDetails = original.BasicResourceCertificateDetails type CertificateRequest = original.CertificateRequest +type CheckNameAvailabilityParameters = original.CheckNameAvailabilityParameters +type CheckNameAvailabilityResult = original.CheckNameAvailabilityResult +type CheckNameAvailabilityResultResource = original.CheckNameAvailabilityResultResource +type Client = original.Client type ClientDiscoveryDisplay = original.ClientDiscoveryDisplay type ClientDiscoveryForLogSpecification = original.ClientDiscoveryForLogSpecification type ClientDiscoveryForProperties = original.ClientDiscoveryForProperties @@ -128,12 +132,18 @@ type VaultsClient = original.VaultsClient func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewClient(subscriptionID string) Client { + return original.NewClient(subscriptionID) +} func NewClientDiscoveryResponseIterator(page ClientDiscoveryResponsePage) ClientDiscoveryResponseIterator { return original.NewClientDiscoveryResponseIterator(page) } func NewClientDiscoveryResponsePage(getNextPage func(context.Context, ClientDiscoveryResponse) (ClientDiscoveryResponse, error)) ClientDiscoveryResponsePage { return original.NewClientDiscoveryResponsePage(getNextPage) } +func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { + return original.NewClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationsClient(subscriptionID string) OperationsClient { return original.NewOperationsClient(subscriptionID) } diff --git a/profiles/latest/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go b/profiles/latest/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go index 29ea8e2c7fd2..ce6b385c30c6 100644 --- a/profiles/latest/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go +++ b/profiles/latest/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go @@ -21,6 +21,7 @@ package recoveryservicesapi import original "github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi" +type ClientAPI = original.ClientAPI type OperationsClientAPI = original.OperationsClientAPI type RegisteredIdentitiesClientAPI = original.RegisteredIdentitiesClientAPI type ReplicationUsagesClientAPI = original.ReplicationUsagesClientAPI diff --git a/profiles/preview/recoveryservices/mgmt/recoveryservices/models.go b/profiles/preview/recoveryservices/mgmt/recoveryservices/models.go index 6972ce6a6423..2a2754597b22 100644 --- a/profiles/preview/recoveryservices/mgmt/recoveryservices/models.go +++ b/profiles/preview/recoveryservices/mgmt/recoveryservices/models.go @@ -84,6 +84,10 @@ const ( type BaseClient = original.BaseClient type BasicResourceCertificateDetails = original.BasicResourceCertificateDetails type CertificateRequest = original.CertificateRequest +type CheckNameAvailabilityParameters = original.CheckNameAvailabilityParameters +type CheckNameAvailabilityResult = original.CheckNameAvailabilityResult +type CheckNameAvailabilityResultResource = original.CheckNameAvailabilityResultResource +type Client = original.Client type ClientDiscoveryDisplay = original.ClientDiscoveryDisplay type ClientDiscoveryForLogSpecification = original.ClientDiscoveryForLogSpecification type ClientDiscoveryForProperties = original.ClientDiscoveryForProperties @@ -128,12 +132,18 @@ type VaultsClient = original.VaultsClient func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewClient(subscriptionID string) Client { + return original.NewClient(subscriptionID) +} func NewClientDiscoveryResponseIterator(page ClientDiscoveryResponsePage) ClientDiscoveryResponseIterator { return original.NewClientDiscoveryResponseIterator(page) } func NewClientDiscoveryResponsePage(getNextPage func(context.Context, ClientDiscoveryResponse) (ClientDiscoveryResponse, error)) ClientDiscoveryResponsePage { return original.NewClientDiscoveryResponsePage(getNextPage) } +func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { + return original.NewClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationsClient(subscriptionID string) OperationsClient { return original.NewOperationsClient(subscriptionID) } diff --git a/profiles/preview/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go b/profiles/preview/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go index 29ea8e2c7fd2..ce6b385c30c6 100644 --- a/profiles/preview/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go +++ b/profiles/preview/recoveryservices/mgmt/recoveryservices/recoveryservicesapi/models.go @@ -21,6 +21,7 @@ package recoveryservicesapi import original "github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi" +type ClientAPI = original.ClientAPI type OperationsClientAPI = original.OperationsClientAPI type RegisteredIdentitiesClientAPI = original.RegisteredIdentitiesClientAPI type ReplicationUsagesClientAPI = original.ReplicationUsagesClientAPI diff --git a/services/recoveryservices/mgmt/2016-06-01/recoveryservices/models.go b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/models.go index b8ef3152dcde..a1240ee849d4 100644 --- a/services/recoveryservices/mgmt/2016-06-01/recoveryservices/models.go +++ b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/models.go @@ -146,6 +146,39 @@ type CertificateRequest struct { Properties *RawCertificateData `json:"properties,omitempty"` } +// CheckNameAvailabilityParameters resource Name availability input parameters - Resource type and resource +// name +type CheckNameAvailabilityParameters struct { + // Type - Describes the Resource type: Microsoft.RecoveryServices/Vaults + Type *string `json:"type,omitempty"` + // Name - Resource name for which availability needs to be checked + Name *string `json:"name,omitempty"` +} + +// CheckNameAvailabilityResult response for check name availability API. Resource provider will set +// availability as true | false. +type CheckNameAvailabilityResult struct { + NameAvailable *bool `json:"nameAvailable,omitempty"` + Reason *string `json:"reason,omitempty"` + Message *string `json:"message,omitempty"` +} + +// CheckNameAvailabilityResultResource response for check name availability API. Resource provider will set +// availability as true | false. +type CheckNameAvailabilityResultResource struct { + autorest.Response `json:"-"` + // Properties - CheckNameAvailabilityResultResource properties + Properties *CheckNameAvailabilityResult `json:"properties,omitempty"` + // ID - Resource Id represents the complete path to the resource. + ID *string `json:"id,omitempty"` + // Name - Resource name associated with the resource. + Name *string `json:"name,omitempty"` + // Type - Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... + Type *string `json:"type,omitempty"` + // ETag - Optional ETag. + ETag *string `json:"eTag,omitempty"` +} + // ClientDiscoveryDisplay localized display information of an operation. type ClientDiscoveryDisplay struct { // Provider - Name of the provider for display purposes diff --git a/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservices.go b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservices.go new file mode 100644 index 000000000000..30a4911e2108 --- /dev/null +++ b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservices.go @@ -0,0 +1,121 @@ +package recoveryservices + +// 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/tracing" + "net/http" +) + +// Client is the recovery Services Client +type Client struct { + BaseClient +} + +// NewClient creates an instance of the Client client. +func NewClient(subscriptionID string) Client { + return NewClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewClientWithBaseURI creates an instance of the Client client. +func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { + return Client{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability sends the check name availability request. +// Parameters: +// resourceGroupName - the name of the resource group where the recovery services vault is present. +// location - location of the resource +// input - contains information about Resource type and Resource name +func (client Client) CheckNameAvailability(ctx context.Context, resourceGroupName string, location string, input CheckNameAvailabilityParameters) (result CheckNameAvailabilityResultResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckNameAvailabilityPreparer(ctx, resourceGroupName, location, input) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.Client", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.Client", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.Client", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client Client) CheckNameAvailabilityPreparer(ctx context.Context, resourceGroupName string, location string, input CheckNameAvailabilityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-06-01" + 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability", pathParameters), + autorest.WithJSON(input), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client Client) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client Client) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResultResource, 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/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi/interfaces.go b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi/interfaces.go index 9a5ae70ee520..da3ddf452ea3 100644 --- a/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi/interfaces.go +++ b/services/recoveryservices/mgmt/2016-06-01/recoveryservices/recoveryservicesapi/interfaces.go @@ -44,6 +44,13 @@ type ReplicationUsagesClientAPI interface { var _ ReplicationUsagesClientAPI = (*recoveryservices.ReplicationUsagesClient)(nil) +// ClientAPI contains the set of methods on the Client type. +type ClientAPI interface { + CheckNameAvailability(ctx context.Context, resourceGroupName string, location string, input recoveryservices.CheckNameAvailabilityParameters) (result recoveryservices.CheckNameAvailabilityResultResource, err error) +} + +var _ ClientAPI = (*recoveryservices.Client)(nil) + // VaultsClientAPI contains the set of methods on the VaultsClient type. type VaultsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, vaultName string, vault recoveryservices.Vault) (result recoveryservices.Vault, err error)