Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* 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.
*/

export {
discriminators,
ResourceNameAvailabilityInput,
ResourceNameAvailabilityResponseResource,
Resource,
BaseResource,
ResourceNameAvailabilityResponse,
CloudError,
VaultCertificateResponse,
ResourceCertificateDetails,
TrackedResource,
PatchTrackedResource,
Vault,
VaultProperties,
UpgradeDetails,
Sku,
PatchVault,
VaultExtendedInfoResource,
ResourceCertificateAndAadDetails,
ResourceCertificateAndAcsDetails
} from "../models/mappers";

75 changes: 75 additions & 0 deletions packages/@azure/arm-recoveryservices/lib/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,62 @@ export interface Resource extends BaseResource {
eTag?: string;
}

/**
* @interface
* An interface representing ResourceNameAvailabilityInput.
* Resource information, as sent to the regional resource provider from Global
* RP.
*
*/
export interface ResourceNameAvailabilityInput {
/**
* @member {string} [type]
*/
type?: string;
/**
* @member {string} [name]
*/
name?: string;
}

/**
* @interface
* An interface representing ResourceNameAvailabilityResponse.
* Response for check name availability API. Resource provider will set
* availability as true | false.
*
*/
export interface ResourceNameAvailabilityResponse {
/**
* @member {boolean} [nameAvailable]
*/
nameAvailable?: boolean;
/**
* @member {string} [reason]
*/
reason?: string;
/**
* @member {string} [message]
*/
message?: string;
}

/**
* @interface
* An interface representing ResourceNameAvailabilityResponseResource.
* Response for check name availability API. Resource provider will set
* availability as true | false.
*
* @extends Resource
*/
export interface ResourceNameAvailabilityResponseResource extends Resource {
/**
* @member {ResourceNameAvailabilityResponse} [properties]
* ResourceNameAvailabilityResponseResource properties
*/
properties?: ResourceNameAvailabilityResponse;
}

/**
* @interface
* An interface representing Sku.
Expand Down Expand Up @@ -889,6 +945,25 @@ export type ReplicationUsagesListResponse = ReplicationUsageList & {
};
};

/**
* Contains response data for the post operation.
*/
export type CheckResourceNameAvailabilityPostResponse = ResourceNameAvailabilityResponseResource & {
/**
* The underlying HTTP response.
*/
_response: msRest.HttpResponse & {
/**
* The response body as text (string format)
*/
bodyAsText: string;
/**
* The response body as parsed JSON or XML
*/
parsedBody: ResourceNameAvailabilityResponseResource;
};
};

/**
* Contains response data for the listBySubscriptionId operation.
*/
Expand Down
68 changes: 68 additions & 0 deletions packages/@azure/arm-recoveryservices/lib/models/mappers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,74 @@ export const Resource: msRest.CompositeMapper = {
}
};

export const ResourceNameAvailabilityInput: msRest.CompositeMapper = {
serializedName: "ResourceNameAvailabilityInput",
type: {
name: "Composite",
className: "ResourceNameAvailabilityInput",
modelProperties: {
type: {
serializedName: "type",
type: {
name: "String"
}
},
name: {
serializedName: "name",
type: {
name: "String"
}
}
}
}
};

export const ResourceNameAvailabilityResponse: msRest.CompositeMapper = {
serializedName: "ResourceNameAvailabilityResponse",
type: {
name: "Composite",
className: "ResourceNameAvailabilityResponse",
modelProperties: {
nameAvailable: {
serializedName: "nameAvailable",
type: {
name: "Boolean"
}
},
reason: {
serializedName: "reason",
type: {
name: "String"
}
},
message: {
serializedName: "message",
type: {
name: "String"
}
}
}
}
};

export const ResourceNameAvailabilityResponseResource: msRest.CompositeMapper = {
serializedName: "ResourceNameAvailabilityResponseResource",
type: {
name: "Composite",
className: "ResourceNameAvailabilityResponseResource",
modelProperties: {
...Resource.type.modelProperties,
properties: {
serializedName: "properties",
type: {
name: "Composite",
className: "ResourceNameAvailabilityResponse"
}
}
}
}
};

export const Sku: msRest.CompositeMapper = {
serializedName: "Sku",
type: {
Expand Down
10 changes: 10 additions & 0 deletions packages/@azure/arm-recoveryservices/lib/models/parameters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,16 @@ export const identityName: msRest.OperationURLParameter = {
}
}
};
export const location: msRest.OperationURLParameter = {
parameterPath: "location",
mapper: {
required: true,
serializedName: "location",
type: {
name: "String"
}
}
};
export const nextPageLink: msRest.OperationURLParameter = {
parameterPath: "nextPageLink",
mapper: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ export {
ResourceCertificateAndAadDetails,
ResourceCertificateAndAcsDetails,
Resource,
ResourceNameAvailabilityResponseResource,
ResourceNameAvailabilityResponse,
TrackedResource,
PatchTrackedResource,
Vault,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ export {
CloudError,
VaultCertificateResponse,
ResourceCertificateDetails,
ResourceNameAvailabilityResponseResource,
ResourceNameAvailabilityResponse,
TrackedResource,
PatchTrackedResource,
Vault,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ export {
PatchTrackedResource,
VaultCertificateResponse,
ResourceCertificateDetails,
ResourceNameAvailabilityResponseResource,
ResourceNameAvailabilityResponse,
VaultExtendedInfoResource,
ResourceCertificateAndAadDetails,
ResourceCertificateAndAcsDetails
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
/*
* 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.
*/

import * as msRest from "ms-rest-js";
import * as Models from "../models";
import * as Mappers from "../models/checkResourceNameAvailabilityMappers";
import * as Parameters from "../models/parameters";
import { RecoveryServicesClientContext } from "../recoveryServicesClientContext";

/** Class representing a CheckResourceNameAvailability. */
export class CheckResourceNameAvailability {
private readonly client: RecoveryServicesClientContext;

/**
* Create a CheckResourceNameAvailability.
* @param {RecoveryServicesClientContext} client Reference to the service client.
*/
constructor(client: RecoveryServicesClientContext) {
this.client = client;
}

/**
* @summary API to check for resource name availability.
* A name is available if no other resource exists that has the same SubscriptionId, Resource Name
* and Type
* or if one or more such resources exist, each of these must be GCed and their time of deletion be
* more than 24 Hours Ago
* @param location Location of the resource
* @param input Contains information about Resource type and Resource name
* @param [options] The optional parameters
* @returns Promise<Models.CheckResourceNameAvailabilityPostResponse>
*/
post(location: string, input: Models.ResourceNameAvailabilityInput, options?: msRest.RequestOptionsBase): Promise<Models.CheckResourceNameAvailabilityPostResponse>;
/**
* @param location Location of the resource
* @param input Contains information about Resource type and Resource name
* @param callback The callback
*/
post(location: string, input: Models.ResourceNameAvailabilityInput, callback: msRest.ServiceCallback<Models.ResourceNameAvailabilityResponseResource>): void;
/**
* @param location Location of the resource
* @param input Contains information about Resource type and Resource name
* @param options The optional parameters
* @param callback The callback
*/
post(location: string, input: Models.ResourceNameAvailabilityInput, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ResourceNameAvailabilityResponseResource>): void;
post(location: string, input: Models.ResourceNameAvailabilityInput, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ResourceNameAvailabilityResponseResource>, callback?: msRest.ServiceCallback<Models.ResourceNameAvailabilityResponseResource>): Promise<Models.CheckResourceNameAvailabilityPostResponse> {
return this.client.sendOperationRequest(
{
location,
input,
options
},
postOperationSpec,
callback) as Promise<Models.CheckResourceNameAvailabilityPostResponse>;
}
}

// Operation Specifications
const serializer = new msRest.Serializer(Mappers);
const postOperationSpec: msRest.OperationSpec = {
httpMethod: "POST",
path: "subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability",
urlParameters: [
Parameters.subscriptionId,
Parameters.location
],
queryParameters: [
Parameters.apiVersion
],
headerParameters: [
Parameters.acceptLanguage
],
requestBody: {
parameterPath: "input",
mapper: {
...Mappers.ResourceNameAvailabilityInput,
required: true
}
},
responses: {
200: {
bodyMapper: Mappers.ResourceNameAvailabilityResponseResource
},
default: {
bodyMapper: Mappers.CloudError
}
},
serializer
};
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
export * from "./vaultCertificates";
export * from "./registeredIdentities";
export * from "./replicationUsages";
export * from "./checkResourceNameAvailability";
export * from "./vaults";
export * from "./operations";
export * from "./vaultExtendedInfoOperations";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class RecoveryServicesClient extends RecoveryServicesClientContext {
vaultCertificates: operations.VaultCertificates;
registeredIdentities: operations.RegisteredIdentities;
replicationUsages: operations.ReplicationUsages;
checkResourceNameAvailability: operations.CheckResourceNameAvailability;
vaults: operations.Vaults;
operations: operations.Operations;
vaultExtendedInfo: operations.VaultExtendedInfoOperations;
Expand All @@ -36,6 +37,7 @@ class RecoveryServicesClient extends RecoveryServicesClientContext {
this.vaultCertificates = new operations.VaultCertificates(this);
this.registeredIdentities = new operations.RegisteredIdentities(this);
this.replicationUsages = new operations.ReplicationUsages(this);
this.checkResourceNameAvailability = new operations.CheckResourceNameAvailability(this);
this.vaults = new operations.Vaults(this);
this.operations = new operations.Operations(this);
this.vaultExtendedInfo = new operations.VaultExtendedInfoOperations(this);
Expand Down