{ "swagger": "2.0", "info": { "title": "Microsoft.AwsConnector", "version": "2024-12-01", "description": "Microsoft.AwsConnector Resource Provider management API.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Ec2Volumes" } ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.AwsConnector/ec2Volumes": { "get": { "operationId": "Ec2Volumes_ListBySubscription", "tags": [ "Ec2Volumes" ], "description": "List Ec2Volume resources by subscription ID", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Ec2VolumeListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_ListBySubscription": { "$ref": "./examples/Ec2Volumes_ListBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AwsConnector/ec2Volumes": { "get": { "operationId": "Ec2Volumes_ListByResourceGroup", "tags": [ "Ec2Volumes" ], "description": "List Ec2Volume resources by resource group", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Ec2VolumeListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_ListByResourceGroup": { "$ref": "./examples/Ec2Volumes_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AwsConnector/ec2Volumes/{name}": { "get": { "operationId": "Ec2Volumes_Get", "tags": [ "Ec2Volumes" ], "description": "Get a Ec2Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of Ec2Volume", "required": true, "type": "string", "pattern": "^(?=.{0,259}[^\\s.]$)(?!.*[<>%&\\?/#])" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Ec2Volume" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_Get": { "$ref": "./examples/Ec2Volumes_Get.json" } } }, "put": { "operationId": "Ec2Volumes_CreateOrReplace", "tags": [ "Ec2Volumes" ], "description": "Create a Ec2Volume. Please note that end user resource creation is currently restricted, but it will be enabled in the future.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of Ec2Volume", "required": true, "type": "string", "pattern": "^(?=.{0,259}[^\\s.]$)(?!.*[<>%&\\?/#])" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/Ec2Volume" } } ], "responses": { "200": { "description": "Resource 'Ec2Volume' update operation succeeded", "schema": { "$ref": "#/definitions/Ec2Volume" } }, "201": { "description": "Resource 'Ec2Volume' create operation succeeded", "schema": { "$ref": "#/definitions/Ec2Volume" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_CreateOrReplace": { "$ref": "./examples/Ec2Volumes_CreateOrReplace.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Ec2Volumes_Update", "tags": [ "Ec2Volumes" ], "description": "Update a Ec2Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of Ec2Volume", "required": true, "type": "string", "pattern": "^(?=.{0,259}[^\\s.]$)(?!.*[<>%&\\?/#])" }, { "name": "properties", "in": "body", "description": "The resource properties to be updated.", "required": true, "schema": { "$ref": "#/definitions/Ec2VolumeTagsUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Ec2Volume" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_Update": { "$ref": "./examples/Ec2Volumes_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Ec2Volumes_Delete", "tags": [ "Ec2Volumes" ], "description": "Delete a Ec2Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of Ec2Volume", "required": true, "type": "string", "pattern": "^(?=.{0,259}[^\\s.]$)(?!.*[<>%&\\?/#])" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Ec2Volumes_Delete": { "$ref": "./examples/Ec2Volumes_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } } }, "definitions": { "AwsEc2VolumeProperties": { "type": "object", "description": "Definition of awsEc2Volume", "properties": { "autoEnableIO": { "type": "boolean", "description": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O." }, "availabilityZone": { "type": "string", "description": "The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``." }, "encrypted": { "type": "boolean", "description": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide*. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances)." }, "iops": { "type": "integer", "format": "int32", "description": "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes." }, "kmsKeyId": { "type": "string", "description": "The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias." }, "multiAttachEnabled": { "type": "boolean", "description": "Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume." }, "outpostArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the Outpost." }, "size": { "type": "integer", "format": "int32", "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + ``gp2`` and ``gp3``: 1 - 16,384 GiB + ``io1``: 4 - 16,384 GiB + ``io2``: 4 - 65,536 GiB + ``st1`` and ``sc1``: 125 - 16,384 GiB + ``standard``: 1 - 1024 GiB" }, "snapshotId": { "type": "string", "description": "The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size." }, "tags": { "type": "array", "description": "The tags to apply to the volume during creation.", "items": { "$ref": "#/definitions/Tag" }, "x-ms-identifiers": [] }, "throughput": { "type": "integer", "format": "int32", "description": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000." }, "volumeId": { "type": "string", "description": "Property volumeId" }, "volumeType": { "type": "string", "description": "The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide*. Default: ``gp2``" } } }, "Ec2Volume": { "type": "object", "description": "A Microsoft.AwsConnector resource", "properties": { "properties": { "$ref": "#/definitions/Ec2VolumeProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ] }, "Ec2VolumeListResult": { "type": "object", "description": "The response of a Ec2Volume list operation.", "properties": { "value": { "type": "array", "description": "The Ec2Volume items on this page", "items": { "$ref": "#/definitions/Ec2Volume" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "Ec2VolumeProperties": { "type": "object", "description": "Definition of Ec2Volume", "properties": { "awsProperties": { "$ref": "#/definitions/AwsEc2VolumeProperties", "description": "AWS Properties" }, "publicCloudConnectorsResourceId": { "type": "string", "description": "Public Cloud Connectors Resource ID" }, "awsAccountId": { "type": "string", "description": "AWS Account ID" }, "arn": { "type": "string", "description": "Amazon Resource Name (ARN)" }, "publicCloudResourceName": { "type": "string", "description": "Public Cloud Resource Name" }, "awsSourceSchema": { "type": "string", "description": "AWS Source Schema" }, "awsRegion": { "type": "string", "description": "AWS Region" }, "awsTags": { "type": "object", "description": "AWS Tags", "additionalProperties": { "type": "string" } }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The status of the last operation.", "readOnly": true } } }, "Ec2VolumeTagsUpdate": { "type": "object", "description": "The type used for updating tags in Ec2Volume resources.", "properties": { "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } } }, "ProvisioningState": { "type": "string", "description": "The provisioning state of a resource.", "enum": [ "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded", "description": "Resource has been created." }, { "name": "Failed", "value": "Failed", "description": "Resource creation failed." }, { "name": "Canceled", "value": "Canceled", "description": "Resource creation was canceled." }, { "name": "Provisioning", "value": "Provisioning", "description": "The resource is being provisioned" }, { "name": "Updating", "value": "Updating", "description": "The resource is updating" }, { "name": "Deleting", "value": "Deleting", "description": "The resource is being deleted" }, { "name": "Accepted", "value": "Accepted", "description": "The resource create request has been accepted" } ] }, "readOnly": true }, "Tag": { "type": "object", "description": "Definition of Tag", "properties": { "key": { "type": "string", "description": "The tag key." }, "value": { "type": "string", "description": "The tag value." } } } }, "parameters": {} }