@azure/arm-resources
Version:
A generated SDK for ResourceManagementClient.
1,300 lines (1,299 loc) • 101 kB
TypeScript
import * as coreClient from "@azure/core-client";
/** Result of the request to list Microsoft.Resources operations. It contains a list of operations and a URL link to get the next set of results. */
export interface OperationListResult {
/** List of Microsoft.Resources operations. */
value?: Operation[];
/** URL to get the next set of operation list results if there are any. */
nextLink?: string;
}
/** Microsoft.Resources operation */
export interface Operation {
/** Operation name: {provider}/{resource}/{operation} */
name?: string;
/** The object that represents the operation. */
display?: OperationDisplay;
}
/** The object that represents the operation. */
export interface OperationDisplay {
/** Service provider: Microsoft.Resources */
provider?: string;
/** Resource on which the operation is performed: Profile, endpoint, etc. */
resource?: string;
/** Operation type: Read, write, delete, etc. */
operation?: string;
/** Description of the operation. */
description?: string;
}
/** An error response for a resource management request. */
export interface CloudError {
/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */
error?: ErrorResponse;
}
/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */
export interface ErrorResponse {
/**
* The error code.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly code?: string;
/**
* The error message.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly message?: string;
/**
* The error target.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly target?: string;
/**
* The error details.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly details?: ErrorResponse[];
/**
* The error additional info.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly additionalInfo?: ErrorAdditionalInfo[];
}
/** The resource management error additional info. */
export interface ErrorAdditionalInfo {
/**
* The additional info type.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/**
* The additional info.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly info?: Record<string, unknown>;
}
/** Deployment operation parameters. */
export interface Deployment {
/** The location to store the deployment data. */
location?: string;
/** The deployment properties. */
properties: DeploymentProperties;
/** Deployment tags */
tags?: {
[propertyName: string]: string;
};
}
/** Deployment properties. */
export interface DeploymentProperties {
/** The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both. */
template?: Record<string, unknown>;
/** The URI of the template. Use either the templateLink property or the template property, but not both. */
templateLink?: TemplateLink;
/** Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string. */
parameters?: {
[propertyName: string]: DeploymentParameter;
};
/** The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both. */
parametersLink?: ParametersLink;
/** The configurations to use for deployment extensions. The keys of this object are deployment extension aliases as defined in the deployment template. */
extensionConfigs?: {
[propertyName: string]: {
[propertyName: string]: DeploymentExtensionConfigItem;
};
};
/** The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. */
mode: DeploymentMode;
/** The debug setting of the deployment. */
debugSetting?: DebugSetting;
/** The deployment on error behavior. */
onErrorDeployment?: OnErrorDeployment;
/** Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer. */
expressionEvaluationOptions?: ExpressionEvaluationOptions;
/** The validation level of the deployment */
validationLevel?: ValidationLevel;
}
/** Entity representing the reference to the template. */
export interface TemplateLink {
/** The URI of the template to deploy. Use either the uri or id property, but not both. */
uri?: string;
/** The resource id of a Template Spec. Use either the id or uri property, but not both. */
id?: string;
/** The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs */
relativePath?: string;
/** If included, must match the ContentVersion in the template. */
contentVersion?: string;
/** The query string (for example, a SAS token) to be used with the templateLink URI. */
queryString?: string;
}
/** Deployment parameter for the template. */
export interface DeploymentParameter {
/** Input value to the parameter . */
value?: any;
/** Azure Key Vault parameter reference. */
reference?: KeyVaultParameterReference;
}
/** Azure Key Vault parameter reference. */
export interface KeyVaultParameterReference {
/** Azure Key Vault reference. */
keyVault: KeyVaultReference;
/** Azure Key Vault secret name. */
secretName: string;
/** Azure Key Vault secret version. */
secretVersion?: string;
}
/** Azure Key Vault reference. */
export interface KeyVaultReference {
/** Azure Key Vault resource id. */
id: string;
}
/** Entity representing the reference to the deployment parameters. */
export interface ParametersLink {
/** The URI of the parameters file. */
uri: string;
/** If included, must match the ContentVersion in the template. */
contentVersion?: string;
}
export interface DeploymentExtensionConfigItem {
/**
* The value type of the extension config property.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: ExtensionConfigPropertyType;
/** The value of the extension config property. */
value?: any;
/** The Azure Key Vault reference used to retrieve the secret value of the extension config property. */
keyVaultReference?: KeyVaultParameterReference;
}
/** The debug setting. */
export interface DebugSetting {
/** Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations. */
detailLevel?: string;
}
/** Deployment on error behavior. */
export interface OnErrorDeployment {
/** The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. */
type?: OnErrorDeploymentType;
/** The deployment to be used on error case. */
deploymentName?: string;
}
/** Specifies whether template expressions are evaluated within the scope of the parent template or nested template. */
export interface ExpressionEvaluationOptions {
/** The scope to be used for evaluation of parameters, variables and functions in a nested template. */
scope?: ExpressionEvaluationOptionsScopeType;
}
/** Deployment information. */
export interface DeploymentExtended {
/**
* The ID of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* The name of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* The type of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/** the location of the deployment. */
location?: string;
/** Deployment properties. */
properties?: DeploymentPropertiesExtended;
/** Deployment tags */
tags?: {
[propertyName: string]: string;
};
}
/** Deployment properties with additional details. */
export interface DeploymentPropertiesExtended {
/**
* Denotes the state of provisioning.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningState?: ProvisioningState;
/**
* The correlation ID of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly correlationId?: string;
/**
* The timestamp of the template deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly timestamp?: Date;
/**
* The duration of the template deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly duration?: string;
/**
* Key/value pairs that represent deployment output.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly outputs?: Record<string, unknown>;
/**
* The list of resource providers needed for the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly providers?: Provider[];
/**
* The list of deployment dependencies.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly dependencies?: Dependency[];
/**
* The URI referencing the template.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly templateLink?: TemplateLink;
/**
* Deployment parameters.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly parameters?: Record<string, unknown>;
/**
* The URI referencing the parameters.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly parametersLink?: ParametersLink;
/**
* The extensions used in this deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly extensions?: DeploymentExtensionDefinition[];
/**
* The deployment mode. Possible values are Incremental and Complete.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly mode?: DeploymentMode;
/**
* The debug setting of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly debugSetting?: DebugSetting;
/**
* The deployment on error behavior.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly onErrorDeployment?: OnErrorDeploymentExtended;
/**
* The hash produced for the template.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly templateHash?: string;
/**
* Array of provisioned resources.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly outputResources?: ResourceReference[];
/**
* Array of validated resources.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly validatedResources?: ResourceReference[];
/**
* The deployment error.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly error?: ErrorResponse;
/**
* Contains diagnostic information collected during validation process.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly diagnostics?: DeploymentDiagnosticsDefinition[];
/** The validation level of the deployment */
validationLevel?: ValidationLevel;
}
/** Resource provider information. */
export interface Provider {
/**
* The provider ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/** The namespace of the resource provider. */
namespace?: string;
/**
* The registration state of the resource provider.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly registrationState?: string;
/**
* The registration policy of the resource provider.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly registrationPolicy?: string;
/**
* The collection of provider resource types.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly resourceTypes?: ProviderResourceType[];
/** The provider authorization consent state. */
providerAuthorizationConsentState?: ProviderAuthorizationConsentState;
}
/** Resource type managed by the resource provider. */
export interface ProviderResourceType {
/** The resource type. */
resourceType?: string;
/** The collection of locations where this resource type can be created. */
locations?: string[];
/** The location mappings that are supported by this resource type. */
locationMappings?: ProviderExtendedLocation[];
/** The aliases that are supported by this resource type. */
aliases?: Alias[];
/** The API version. */
apiVersions?: string[];
/**
* The default API version.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly defaultApiVersion?: string;
zoneMappings?: ZoneMapping[];
/**
* The API profiles for the resource provider.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly apiProfiles?: ApiProfile[];
/** The additional capabilities offered by this resource type. */
capabilities?: string;
/** The properties. */
properties?: {
[propertyName: string]: string;
};
}
/** The provider extended location. */
export interface ProviderExtendedLocation {
/** The azure location. */
location?: string;
/** The extended location type. */
type?: string;
/** The extended locations for the azure location. */
extendedLocations?: string[];
}
/** The alias type. */
export interface Alias {
/** The alias name. */
name?: string;
/** The paths for an alias. */
paths?: AliasPath[];
/** The type of the alias. */
type?: AliasType;
/** The default path for an alias. */
defaultPath?: string;
/** The default pattern for an alias. */
defaultPattern?: AliasPattern;
/**
* The default alias path metadata. Applies to the default path and to any alias path that doesn't have metadata
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly defaultMetadata?: AliasPathMetadata;
}
/** The type of the paths for alias. */
export interface AliasPath {
/** The path of an alias. */
path?: string;
/** The API versions. */
apiVersions?: string[];
/** The pattern for an alias path. */
pattern?: AliasPattern;
/**
* The metadata of the alias path. If missing, fall back to the default metadata of the alias.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly metadata?: AliasPathMetadata;
}
/** The type of the pattern for an alias path. */
export interface AliasPattern {
/** The alias pattern phrase. */
phrase?: string;
/** The alias pattern variable. */
variable?: string;
/** The type of alias pattern */
type?: AliasPatternType;
}
export interface AliasPathMetadata {
/**
* The type of the token that the alias path is referring to.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: AliasPathTokenType;
/**
* The attributes of the token that the alias path is referring to.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly attributes?: AliasPathAttributes;
}
export interface ZoneMapping {
/** The location of the zone mapping. */
location?: string;
zones?: string[];
}
export interface ApiProfile {
/**
* The profile version.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly profileVersion?: string;
/**
* The API version.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly apiVersion?: string;
}
/** Deployment dependency information. */
export interface Dependency {
/** The list of dependencies. */
dependsOn?: BasicDependency[];
/** The ID of the dependency. */
id?: string;
/** The dependency resource type. */
resourceType?: string;
/** The dependency resource name. */
resourceName?: string;
}
/** Deployment dependency information. */
export interface BasicDependency {
/** The ID of the dependency. */
id?: string;
/** The dependency resource type. */
resourceType?: string;
/** The dependency resource name. */
resourceName?: string;
}
export interface DeploymentExtensionDefinition {
/**
* The alias of the extension as defined in the deployment template.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly alias?: string;
/**
* The extension name.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* The extension version.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly version?: string;
/**
* The extension configuration ID. It uniquely identifies a deployment control plane within an extension.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly configId?: string;
/**
* The extension configuration.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly config?: {
[propertyName: string]: DeploymentExtensionConfigItem;
};
}
/** Deployment on error behavior with additional details. */
export interface OnErrorDeploymentExtended {
/**
* The state of the provisioning for the on error deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningState?: string;
/** The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. */
type?: OnErrorDeploymentType;
/** The deployment to be used on error case. */
deploymentName?: string;
}
/** The resource Id model. */
export interface ResourceReference {
/**
* The fully qualified Azure resource ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* The key of the extension the resource was deployed with.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly extension?: DeploymentExtensionDefinition;
/**
* The resource type.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly resourceType?: string;
/**
* The extensible resource identifiers.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly identifiers?: Record<string, unknown>;
/**
* The API version the resource was deployed with.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly apiVersion?: string;
}
export interface DeploymentDiagnosticsDefinition {
/**
* Denotes the additional response level.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly level: Level;
/**
* The error code.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly code: string;
/**
* The error message.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly message: string;
/**
* The error target.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly target?: string;
/**
* The error additional info.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly additionalInfo?: ErrorAdditionalInfo[];
}
/** Information from validate template deployment response. */
export interface DeploymentValidateResult {
/**
* The deployment validation error.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly error?: ErrorResponse;
/**
* The ID of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* The name of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* The type of the deployment.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/** The template deployment properties. */
properties?: DeploymentPropertiesExtended;
}
/** The deployment export result. */
export interface DeploymentExportResult {
/** The template content. */
template?: Record<string, unknown>;
}
/** List of deployments. */
export interface DeploymentListResult {
/** An array of deployments. */
value?: DeploymentExtended[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** Deployment operation parameters. */
export interface ScopedDeployment {
/** The location to store the deployment data. */
location: string;
/** The deployment properties. */
properties: DeploymentProperties;
/** Deployment tags */
tags?: {
[propertyName: string]: string;
};
}
/** Deployment What-if operation parameters. */
export interface ScopedDeploymentWhatIf {
/** The location to store the deployment data. */
location: string;
/** The deployment properties. */
properties: DeploymentWhatIfProperties;
}
/** Deployment What-If operation settings. */
export interface DeploymentWhatIfSettings {
/** The format of the What-If results */
resultFormat?: WhatIfResultFormat;
}
/** Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results. */
export interface WhatIfOperationResult {
/** Status of the What-If operation. */
status?: string;
/** Error when What-If operation fails. */
error?: ErrorResponse;
/** List of resource changes predicted by What-If operation. */
changes?: WhatIfChange[];
/** List of resource changes predicted by What-If operation. */
potentialChanges?: WhatIfChange[];
/**
* List of resource diagnostics detected by What-If operation.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly diagnostics?: DeploymentDiagnosticsDefinition[];
}
/** Information about a single resource change predicted by What-If operation. */
export interface WhatIfChange {
/** Resource ID */
resourceId?: string;
/** The resource id of the Deployment responsible for this change. */
deploymentId?: string;
/** The symbolic name of the resource responsible for this change. */
symbolicName?: string;
/** A subset of properties that uniquely identify a Bicep extensible resource because it lacks a resource id like an Azure resource has. */
identifiers?: Record<string, unknown>;
/** Type of change that will be made to the resource when the deployment is executed. */
changeType: ChangeType;
/** The explanation about why the resource is unsupported by What-If. */
unsupportedReason?: string;
/** The snapshot of the resource before the deployment is executed. */
before?: Record<string, unknown>;
/** The predicted snapshot of the resource after the deployment is executed. */
after?: Record<string, unknown>;
/** The predicted changes to resource properties. */
delta?: WhatIfPropertyChange[];
}
/** The predicted change to the resource property. */
export interface WhatIfPropertyChange {
/** The path of the property. */
path: string;
/** The type of property change. */
propertyChangeType: PropertyChangeType;
/** The value of the property before the deployment is executed. */
before?: Record<string, unknown>;
/** The value of the property after the deployment is executed. */
after?: Record<string, unknown>;
/** Nested property changes. */
children?: WhatIfPropertyChange[];
}
/** Deployment What-if operation parameters. */
export interface DeploymentWhatIf {
/** The location to store the deployment data. */
location?: string;
/** The deployment properties. */
properties: DeploymentWhatIfProperties;
}
/** List of provider permissions. */
export interface ProviderPermissionListResult {
/** An array of provider permissions. */
value?: ProviderPermission[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** The provider permission */
export interface ProviderPermission {
/** The application id. */
applicationId?: string;
/** Role definition properties. */
roleDefinition?: RoleDefinition;
/** Role definition properties. */
managedByRoleDefinition?: RoleDefinition;
/** The provider authorization consent state. */
providerAuthorizationConsentState?: ProviderAuthorizationConsentState;
}
/** Role definition properties. */
export interface RoleDefinition {
/** The role definition ID. */
id?: string;
/** The role definition name. */
name?: string;
/** If this is a service role. */
isServiceRole?: boolean;
/** Role definition permissions. */
permissions?: Permission[];
/** Role definition assignable scopes. */
scopes?: string[];
}
/** Role definition permissions. */
export interface Permission {
/** Allowed actions. */
actions?: string[];
/** Denied actions. */
notActions?: string[];
/** Allowed Data actions. */
dataActions?: string[];
/** Denied Data actions. */
notDataActions?: string[];
}
/** The provider registration definition. */
export interface ProviderRegistrationRequest {
/** The provider consent. */
thirdPartyProviderConsent?: ProviderConsentDefinition;
}
/** The provider consent. */
export interface ProviderConsentDefinition {
/** A value indicating whether authorization is consented or not. */
consentToAuthorization?: boolean;
}
/** List of resource providers. */
export interface ProviderListResult {
/** An array of resource providers. */
value?: Provider[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** List of resource types of a resource provider. */
export interface ProviderResourceTypeListResult {
/** An array of resource types. */
value?: ProviderResourceType[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** List of resource groups. */
export interface ResourceListResult {
/** An array of resources. */
value?: GenericResourceExpanded[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** Plan for the resource. */
export interface Plan {
/** The plan ID. */
name?: string;
/** The publisher ID. */
publisher?: string;
/** The offer ID. */
product?: string;
/** The promotion code. */
promotionCode?: string;
/** The plan's version. */
version?: string;
}
/** SKU for the resource. */
export interface Sku {
/** The SKU name. */
name?: string;
/** The SKU tier. */
tier?: string;
/** The SKU size. */
size?: string;
/** The SKU family. */
family?: string;
/** The SKU model. */
model?: string;
/** The SKU capacity. */
capacity?: number;
}
/** Identity for the resource. */
export interface Identity {
/**
* The principal ID of resource identity.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly principalId?: string;
/**
* The tenant ID of resource.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly tenantId?: string;
/** The identity type. */
type?: ResourceIdentityType;
/** The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */
userAssignedIdentities?: {
[propertyName: string]: IdentityUserAssignedIdentitiesValue;
};
}
export interface IdentityUserAssignedIdentitiesValue {
/**
* The principal id of user assigned identity.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly principalId?: string;
/**
* The client id of user assigned identity.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly clientId?: string;
}
/** Specified resource. */
export interface Resource {
/**
* Resource ID
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* Resource name
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* Resource type
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/** Resource location */
location?: string;
/** Resource extended location. */
extendedLocation?: ExtendedLocation;
/** Resource tags */
tags?: {
[propertyName: string]: string;
};
}
/** Resource extended location. */
export interface ExtendedLocation {
/** The extended location type. */
type?: ExtendedLocationType;
/** The extended location name. */
name?: string;
}
/** Resource group information. */
export interface ResourceGroup {
/**
* The ID of the resource group.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* The name of the resource group.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* The type of the resource group.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/** The resource group properties. */
properties?: ResourceGroupProperties;
/** The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations. */
location: string;
/** The ID of the resource that manages this resource group. */
managedBy?: string;
/** The tags attached to the resource group. */
tags?: {
[propertyName: string]: string;
};
}
/** The resource group properties. */
export interface ResourceGroupProperties {
/**
* The provisioning state.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningState?: string;
}
/** Resource group information. */
export interface ResourceGroupPatchable {
/** The name of the resource group. */
name?: string;
/** The resource group properties. */
properties?: ResourceGroupProperties;
/** The ID of the resource that manages this resource group. */
managedBy?: string;
/** The tags attached to the resource group. */
tags?: {
[propertyName: string]: string;
};
}
/** Export resource group template request parameters. */
export interface ExportTemplateRequest {
/** The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. */
resources?: string[];
/** The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization' */
options?: string;
/** The output format for the exported resources. */
outputFormat?: ExportTemplateOutputFormat;
}
/** Resource group export result. */
export interface ResourceGroupExportResult {
/** The template content. Used if outputFormat is empty or set to 'Json'. */
template?: Record<string, unknown>;
/** The formatted export content. Used if outputFormat is set to 'Bicep'. */
output?: string;
/** The template export error. */
error?: ErrorResponse;
}
/** List of resource groups. */
export interface ResourceGroupListResult {
/** An array of resource groups. */
value?: ResourceGroup[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** Parameters of move resources. */
export interface ResourcesMoveInfo {
/** The IDs of the resources. */
resources?: string[];
/** The target resource group. */
targetResourceGroup?: string;
}
/** Tag information. */
export interface TagValue {
/**
* The tag value ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/** The tag value. */
tagValue?: string;
/** The tag value count. */
count?: TagCount;
}
/** Tag count. */
export interface TagCount {
/** Type of count. */
type?: string;
/** Value of count. */
value?: number;
}
/** Tag details. */
export interface TagDetails {
/**
* The tag name ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/** The tag name. */
tagName?: string;
/** The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0. */
count?: TagCount;
/** The list of tag values. */
values?: TagValue[];
}
/** List of subscription tags. */
export interface TagsListResult {
/** An array of tags. */
value?: TagDetails[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** Deployment operation information. */
export interface DeploymentOperation {
/**
* Full deployment operation ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* Deployment operation ID.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly operationId?: string;
/** Deployment properties. */
properties?: DeploymentOperationProperties;
}
/** Deployment operation properties. */
export interface DeploymentOperationProperties {
/**
* The name of the current provisioning operation.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningOperation?: ProvisioningOperation;
/**
* The state of the provisioning.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningState?: string;
/**
* The date and time of the operation.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly timestamp?: Date;
/**
* The duration of the operation.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly duration?: string;
/**
* Deployment operation service request id.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly serviceRequestId?: string;
/**
* Operation status code from the resource provider. This property may not be set if a response has not yet been received.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly statusCode?: string;
/**
* Operation status message from the resource provider. This property is optional. It will only be provided if an error was received from the resource provider.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly statusMessage?: StatusMessage;
/**
* The target resource.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly targetResource?: TargetResource;
/**
* The HTTP request message.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly request?: HttpMessage;
/**
* The HTTP response message.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly response?: HttpMessage;
}
/** Operation status message object. */
export interface StatusMessage {
/** Status of the deployment operation. */
status?: string;
/** The error reported by the operation. */
error?: ErrorResponse;
}
/** Target resource. */
export interface TargetResource {
/** The Azure resource ID of the resource. */
id?: string;
/** The name of the resource. */
resourceName?: string;
/** The type of the resource. */
resourceType?: string;
/** The extension the resource was deployed with. */
extension?: DeploymentExtensionDefinition;
/** The extensible resource identifiers. */
identifiers?: Record<string, unknown>;
/** The API version the resource was deployed with. */
apiVersion?: string;
/** The symbolic name of the resource as defined in the deployment template. */
symbolicName?: string;
}
/** HTTP message. */
export interface HttpMessage {
/** HTTP message content. */
content?: Record<string, unknown>;
}
/** List of deployment operations. */
export interface DeploymentOperationsListResult {
/** An array of deployment operations. */
value?: DeploymentOperation[];
/**
* The URL to use for getting the next set of results.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly nextLink?: string;
}
/** Result of the request to calculate template hash. It contains a string of minified template and its hash. */
export interface TemplateHashResult {
/** The minified template string. */
minifiedTemplate?: string;
/** The template hash. */
templateHash?: string;
}
/** Wrapper resource for tags API requests and responses. */
export interface TagsResource {
/**
* The ID of the tags wrapper resource.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly id?: string;
/**
* The name of the tags wrapper resource.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly name?: string;
/**
* The type of the tags wrapper resource.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly type?: string;
/** The set of tags. */
properties: Tags;
}
/** A dictionary of name and value pairs. */
export interface Tags {
/** Dictionary of <string> */
tags?: {
[propertyName: string]: string;
};
}
/** Wrapper resource for tags patch API request only. */
export interface TagsPatchResource {
/** The operation type for the patch API. */
operation?: TagsPatchOperation;
/** The set of tags. */
properties?: Tags;
}
/** Deployment filter. */
export interface DeploymentExtendedFilter {
/** The provisioning state. */
provisioningState?: string;
}
/** Resource filter. */
export interface GenericResourceFilter {
/** The resource type. */
resourceType?: string;
/** The tag name. */
tagname?: string;
/** The tag value. */
tagvalue?: string;
}
/** Resource group filter. */
export interface ResourceGroupFilter {
/** The tag name. */
tagName?: string;
/** The tag value. */
tagValue?: string;
}
/** Resource provider operation's display properties. */
export interface ResourceProviderOperationDisplayProperties {
/** Operation description. */
publisher?: string;
/** Operation provider. */
provider?: string;
/** Operation resource. */
resource?: string;
/** Resource provider operation. */
operation?: string;
/** Operation description. */
description?: string;
}
/** Sub-resource. */
export interface SubResource {
/** Resource ID */
id?: string;
}
/** Deployment What-if properties. */
export interface DeploymentWhatIfProperties extends DeploymentProperties {
/** Optional What-If operation settings. */
whatIfSettings?: DeploymentWhatIfSettings;
}
/** Resource information. */
export interface GenericResource extends Resource {
/** The plan of the resource. */
plan?: Plan;
/** The resource properties. */
properties?: Record<string, unknown>;
/** The kind of the resource. */
kind?: string;
/** ID of the resource that manages this resource. */
managedBy?: string;
/** The SKU of the resource. */
sku?: Sku;
/** The identity of the resource. */
identity?: Identity;
}
/** Resource information. */
export interface GenericResourceExpanded extends GenericResource {
/**
* The created time of the resource. This is only present if requested via the $expand query parameter.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly createdTime?: Date;
/**
* The changed time of the resource. This is only present if requested via the $expand query parameter.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly changedTime?: Date;
/**
* The provisioning state of the resource. This is only present if requested via the $expand query parameter.
* NOTE: This property will not be serialized. It can only be populated by the server.
*/
readonly provisioningState?: string;
}
/** Defines headers for Deployments_whatIfAtTenantScope operation. */
export interface DeploymentsWhatIfAtTenantScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
/** Number of seconds to wait before polling for status. */
retryAfter?: string;
}
/** Defines headers for Deployments_whatIfAtManagementGroupScope operation. */
export interface DeploymentsWhatIfAtManagementGroupScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
/** Number of seconds to wait before polling for status. */
retryAfter?: string;
}
/** Defines headers for Deployments_whatIfAtSubscriptionScope operation. */
export interface DeploymentsWhatIfAtSubscriptionScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
/** Number of seconds to wait before polling for status. */
retryAfter?: string;
}
/** Defines headers for Deployments_whatIf operation. */
export interface DeploymentsWhatIfHeaders {
/** URL to get status of this long-running operation. */
location?: string;
/** Number of seconds to wait before polling for status. */
retryAfter?: string;
}
/** Defines headers for ResourceGroups_delete operation. */
export interface ResourceGroupsDeleteHeaders {
/** URL to get status of this long-running operation. */
location?: string;
}
/** Defines headers for Tags_createOrUpdateAtScope operation. */
export interface TagsCreateOrUpdateAtScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
}
/** Defines headers for Tags_updateAtScope operation. */
export interface TagsUpdateAtScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
}
/** Defines headers for Tags_deleteAtScope operation. */
export interface TagsDeleteAtScopeHeaders {
/** URL to get status of this long-running operation. */
location?: string;
}
/** Known values of {@link ExtensionConfigPropertyType} that the service accepts. */
export declare enum KnownExtensionConfigPropertyType {
/** Property type representing a string value. */
String = "String",
/** Property type representing an integer value. */
Int = "Int",
/** Property type representing a boolean value. */
Bool = "Bool",
/** Property type representing an array value. */
Array = "Array",
/** Property type representing an object value. */
Object = "Object",
/** Property type representing a secure string value. */
SecureString = "SecureString",
/** Property type representing a secure object value. */
SecureObject = "SecureObject"
}
/**
* Defines values for ExtensionConfigPropertyType. \
* {@link KnownExtensionConfigPropertyType} can be used interchangeably with ExtensionConfigPropertyType,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **String**: Property type representing a string value. \
* **Int**: Property type representing an integer value. \
* **Bool**: Property type representing a boolean value. \
* **Array**: Property type representing an array value. \
* **Object**: Property type representing an object value. \
* **SecureString**: Property type representing a secure string value. \
* **SecureObject**: Property type representing a secure object value.
*/
export type ExtensionConfigPropertyType = string;
/** Known values of {@link ExpressionEvaluationOptionsScopeType} that the service accepts. */
export declare enum KnownExpressionEvaluationOptionsScopeType {
/** NotSpecified */
NotSpecified = "NotSpecified",
/** Outer */
Outer = "Outer",
/** Inner */
Inner = "Inner"
}
/**
* Defines values for ExpressionEvaluationOptionsScopeType. \
* {@link KnownExpressionEvaluationOptionsScopeType} can be used interchangeably with ExpressionEvaluationOptionsScopeType,