{
  "$id": "schema.json",
  "type": "object",
  "schema": "http://json-schema.org/draft-07/schema#",
  "translate": true,
  "dynamicfields": true,
  "properties": {
    "ph_request_type": {
      "type": "string",
      "description": "type of request (internal to adapter)",
      "default": "describeSnapshots",
      "enum": [
        "describeSnapshots",
        "describeSnapshotAttribute",
        "describeImportSnapshotTasks",
        "createSnapshot",
        "copySnapshot",
        "importSnapshot",
        "modifySnapshotAttribute",
        "resetSnapshotAttribute",
        "deleteSnapshot"
      ],
      "external_name": "ph_request_type"
    },
    "snapshotId": {
      "description": "The ID of the snapshot.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SnapshotId"
    },
    "attribute": {
      "description": "The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Attribute"
    },
    "dryRun": {
      "description": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DryRun"
    },
    "action": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Action"
    },
    "version": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Version"
    },
    "createVolumePermissionAdd": {
      "description": "Describes modifications to the list of create volume permissions for a volume.\nAdds the specified AWS account ID or group to the list.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "CreateVolumePermission.Add"
    },
    "createVolumePermissionRemove": {
      "description": "Describes modifications to the list of create volume permissions for a volume.\nRemoves the specified AWS account ID or group from the list.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "CreateVolumePermission.Remove"
    },
    "userGroup": {
      "description": "The group to modify for the snapshot.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "UserGroup"
    },
    "operationType": {
      "description": "The type of operation to perform to the attribute.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "OperationType"
    },
    "userId": {
      "description": "The account ID to modify for the snapshot.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "UserId"
    },
    "clientDataComment": {
      "description": "Describes the client-specific data.\nA user-defined comment about the disk upload.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientData.Comment"
    },
    "clientDataUploadEnd": {
      "description": "Describes the client-specific data.\nThe time that the disk upload ends.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientData.UploadEnd"
    },
    "clientDataUploadSize": {
      "description": "Describes the client-specific data.\nThe size of the uploaded disk image, in GiB.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientData.UploadSize"
    },
    "clientDataUploadStart": {
      "description": "Describes the client-specific data.\nThe time that the disk upload starts.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientData.UploadStart"
    },
    "clientToken": {
      "description": "Token to enable idempotency for VM import requests.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientToken"
    },
    "description": {
      "description": "The description string for the import snapshot task.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Description"
    },
    "diskContainerDescription": {
      "description": "The disk container object for the import snapshot request.\nThe description of the disk image being imported.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DiskContainer.Description"
    },
    "diskContainerFormat": {
      "description": "The disk container object for the import snapshot request.\n The format of the disk image being imported.   Valid values:  VHD  |  VMDK",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DiskContainer.Format"
    },
    "diskContainerUrl": {
      "description": "The disk container object for the import snapshot request.\nThe URL to the Amazon S3-based disk image being imported. It can either be a https URL (https:..) or an Amazo...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DiskContainer.Url"
    },
    "diskContainerUserBucket": {
      "description": "The disk container object for the import snapshot request.\nThe S3 bucket for the disk image.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DiskContainer.UserBucket"
    },
    "encrypted": {
      "description": "Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Encrypted"
    },
    "kmsKeyId": {
      "description": "An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "KmsKeyId"
    },
    "roleName": {
      "description": "The name of the role to use when not using the default role, &#39;vmimport&#39;.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RoleName"
    },
    "maxResults": {
      "description": "The maximum number of snapshot results returned by  DescribeSnapshots  in paginated output. When this parameter is used,  DescribeSnapshots  only returns  MaxResults  res...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "MaxResults"
    },
    "nextToken": {
      "description": "The  NextToken  value returned from a previous paginated  DescribeSnapshots  request where  MaxResults  was used and the results exceeded the value of that parameter. Pag...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "NextToken"
    },
    "owner": {
      "description": "Describes the snapshots owned by these owners.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Owner"
    },
    "restorableBy": {
      "description": "The IDs of the AWS accounts that can create volumes from the snapshot.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RestorableBy"
    },
    "destinationRegion": {
      "description": "The destination Region to use in the  PresignedUrl  parameter of a snapshot copy operation. This parameter is only valid for specifying the destination Region in a  Pres...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "DestinationRegion"
    },
    "presignedUrl": {
      "description": "When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For mo...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PresignedUrl"
    },
    "sourceRegion": {
      "description": "The ID of the Region that contains the snapshot to be copied.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SourceRegion"
    },
    "sourceSnapshotId": {
      "description": "The ID of the EBS snapshot to copy.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SourceSnapshotId"
    },
    "volumeId": {
      "description": "The ID of the EBS volume.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VolumeId"
    },
    "tagSpecification": {
      "description": "The tags to apply to the snapshot during creation.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "TagSpecification"
    },
    "importTaskId": {
      "description": "A list of import snapshot task IDs.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ImportTaskId"
    },
    "filter": {
      "description": "The filters.         description  - A description of the snapshot.         encrypted  - Indicates whether the snapshot is encrypted ( true  |  false )         owner-alia...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Filter"
    },
    "filters": {
      "description": "The filters.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Filters"
    },
    "bodyFormData": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "body"
    }
  },
  "definitions": {}
}