{
  "$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": "describeVpcs",
      "enum": [
        "describeVpcs",
        "describeVpcAttribute",
        "createVpc",
        "createDefaultVpc",
        "modifyVpcAttribute",
        "modifyVpcTenancy",
        "deleteVpc",
        "describeVpcEndpoints",
        "describeVpcEndpointConnections",
        "describeVpcEndpointConnectionNotifications",
        "describeVpcEndpointServices",
        "describeVpcEndpointServiceConfigurations",
        "describeVpcEndpointServicePermissions",
        "createVpcEndpoint",
        "createVpcEndpointConnectionNotification",
        "createVpcEndpointServiceConfiguration",
        "modifyVpcEndpoint",
        "modifyVpcEndpointConnectionNotification",
        "modifyVpcEndpointServiceConfiguration",
        "modifyVpcEndpointServicePermissions",
        "acceptVpcEndpointConnections",
        "rejectVpcEndpointConnections",
        "deleteVpcEndpoints",
        "deleteVpcEndpointConnectionNotifications",
        "deleteVpcEndpointServiceConfigurations",
        "describeVpcPeeringConnections",
        "createVpcPeeringConnection",
        "modifyVpcPeeringConnectionOptions",
        "acceptVpcPeeringConnection",
        "rejectVpcPeeringConnection",
        "deleteVpcPeeringConnection",
        "associateVpcCidrBlock",
        "disassociateVpcCidrBlock",
        "describeVpcClassicLink",
        "describeVpcClassicLinkDnsSupport",
        "enableVpcClassicLink",
        "enableVpcClassicLinkDnsSupport",
        "attachClassicLinkVpc",
        "disableVpcClassicLink",
        "disableVpcClassicLinkDnsSupport",
        "detachClassicLinkVpc"
      ],
      "external_name": "ph_request_type"
    },
    "vpcId": {
      "description": "The ID of the VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcId"
    },
    "vpcIds": {
      "description": "One or more VPC IDs.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcIds"
    },
    "serviceId": {
      "description": "The ID of the endpoint service.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ServiceId"
    },
    "vpcEndpointId": {
      "description": "The IDs of one or more interface VPC endpoints.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcEndpointId"
    },
    "vpcPeeringConnectionId": {
      "description": "The ID of the VPC peering connection. You must specify this parameter in the request.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcPeeringConnectionId"
    },
    "associationId": {
      "description": "The association ID for the CIDR block.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AssociationId"
    },
    "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"
    },
    "acceptanceRequired": {
      "description": "Indicate whether requests to create an endpoint to your service must be accepted.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AcceptanceRequired"
    },
    "addNetworkLoadBalancerArn": {
      "description": "The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AddNetworkLoadBalancerArn"
    },
    "removeNetworkLoadBalancerArn": {
      "description": "The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service configuration.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RemoveNetworkLoadBalancerArn"
    },
    "addAllowedPrincipals": {
      "description": "The Amazon Resource Names (ARN) of one or more principals. Permissions are granted to the principals in this list. To grant permissions to all principals, specify an aste...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AddAllowedPrincipals"
    },
    "removeAllowedPrincipals": {
      "description": "The Amazon Resource Names (ARN) of one or more principals. Permissions are revoked for principals in this list.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RemoveAllowedPrincipals"
    },
    "accepterPeeringConnectionOptionsAllowDnsResolutionFromRemoteVpc": {
      "description": "The VPC peering connection options.\nIf true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AccepterPeeringConnectionOptions.AllowDnsResolutionFromRemoteVpc"
    },
    "accepterPeeringConnectionOptionsAllowEgressFromLocalClassicLinkToRemoteVpc": {
      "description": "The VPC peering connection options.\nIf true, enables outbound communication from an EC2-Classic instance that&#39;s linked to a local VPC using ClassicLink to instances in a ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AccepterPeeringConnectionOptions.AllowEgressFromLocalClassicLinkToRemoteVpc"
    },
    "accepterPeeringConnectionOptionsAllowEgressFromLocalVpcToRemoteClassicLink": {
      "description": "The VPC peering connection options.\nIf true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that&#39;s linked to a peer VPC using Cla...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AccepterPeeringConnectionOptions.AllowEgressFromLocalVpcToRemoteClassicLink"
    },
    "requesterPeeringConnectionOptionsAllowDnsResolutionFromRemoteVpc": {
      "description": "The VPC peering connection options.\nIf true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RequesterPeeringConnectionOptions.AllowDnsResolutionFromRemoteVpc"
    },
    "requesterPeeringConnectionOptionsAllowEgressFromLocalClassicLinkToRemoteVpc": {
      "description": "The VPC peering connection options.\nIf true, enables outbound communication from an EC2-Classic instance that&#39;s linked to a local VPC using ClassicLink to instances in a ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RequesterPeeringConnectionOptions.AllowEgressFromLocalClassicLinkToRemoteVpc"
    },
    "requesterPeeringConnectionOptionsAllowEgressFromLocalVpcToRemoteClassicLink": {
      "description": "The VPC peering connection options.\nIf true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that&#39;s linked to a peer VPC using Cla...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RequesterPeeringConnectionOptions.AllowEgressFromLocalVpcToRemoteClassicLink"
    },
    "instanceTenancy": {
      "description": "The instance tenancy attribute for the VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "InstanceTenancy"
    },
    "connectionNotificationId": {
      "description": "The ID of the notification.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ConnectionNotificationId"
    },
    "connectionNotificationArn": {
      "description": "The ARN for the SNS topic for the notification.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ConnectionNotificationArn"
    },
    "connectionEvents": {
      "description": "One or more events for the endpoint. Valid values are  Accept ,  Connect ,  Delete , and  Reject .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ConnectionEvents"
    },
    "resetPolicy": {
      "description": "(Gateway endpoint) Specify  true  to reset the policy document to the default policy. The default policy allows full access to the service.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ResetPolicy"
    },
    "policyDocument": {
      "description": "A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default p...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PolicyDocument"
    },
    "addRouteTableId": {
      "description": "(Gateway endpoint) One or more route tables IDs to associate with the endpoint.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AddRouteTableId"
    },
    "removeRouteTableId": {
      "description": "(Gateway endpoint) One or more route table IDs to disassociate from the endpoint.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RemoveRouteTableId"
    },
    "addSubnetId": {
      "description": "(Interface endpoint) One or more subnet IDs in which to serve the endpoint.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AddSubnetId"
    },
    "removeSubnetId": {
      "description": "(Interface endpoint) One or more subnets IDs in which to remove the endpoint.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RemoveSubnetId"
    },
    "addSecurityGroupId": {
      "description": "(Interface endpoint) One or more security group IDs to associate with the network interface.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AddSecurityGroupId"
    },
    "removeSecurityGroupId": {
      "description": "(Interface endpoint) One or more security group IDs to disassociate from the network interface.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RemoveSecurityGroupId"
    },
    "privateDnsEnabled": {
      "description": "(Interface endpoint) Indicate whether a private hosted zone is associated with the VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PrivateDnsEnabled"
    },
    "enableDnsHostnamesValue": {
      "description": "Describes a value for a resource attribute that is a Boolean value.\nThe attribute value. The valid values are  true  or  false .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "EnableDnsHostnames.Value"
    },
    "enableDnsSupportValue": {
      "description": "Describes a value for a resource attribute that is a Boolean value.\nThe attribute value. The valid values are  true  or  false .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "EnableDnsSupport.Value"
    },
    "nextToken": {
      "description": "The token for the next page of results.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "NextToken"
    },
    "maxResults": {
      "description": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned  nextToken  value.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "MaxResults"
    },
    "serviceName": {
      "description": "One or more service names.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ServiceName"
    },
    "instanceId": {
      "description": "The ID of the instance to unlink from the VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "InstanceId"
    },
    "cidrBlock": {
      "description": "The IPv4 network range for the VPC, in CIDR notation. For example,  10.0.0.016 .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "CidrBlock"
    },
    "amazonProvidedIpv6CidrBlock": {
      "description": "Requests an Amazon-provided IPv6 CIDR block with a 56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "AmazonProvidedIpv6CidrBlock"
    },
    "vpcEndpointType": {
      "description": "The type of endpoint.   Default: Gateway",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcEndpointType"
    },
    "routeTableId": {
      "description": "(Gateway endpoint) One or more route table IDs.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "RouteTableId"
    },
    "subnetId": {
      "description": "(Interface endpoint) The ID of one or more subnets in which to create an endpoint network interface.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SubnetId"
    },
    "securityGroupId": {
      "description": "(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SecurityGroupId"
    },
    "clientToken": {
      "description": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see  How to Ensure Idempotency .",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientToken"
    },
    "networkLoadBalancerArn": {
      "description": "The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "NetworkLoadBalancerArn"
    },
    "peerOwnerId": {
      "description": "The AWS account ID of the owner of the accepter VPC.   Default: Your AWS account ID",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PeerOwnerId"
    },
    "peerVpcId": {
      "description": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PeerVpcId"
    },
    "peerRegion": {
      "description": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.   Default: The Region in which you ...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "PeerRegion"
    },
    "attribute": {
      "description": "The VPC attribute.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Attribute"
    },
    "filter": {
      "description": "One or more filters.         cidr  - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC&#39;s CIDR block for information to be ret...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "Filter"
    },
    "bodyFormData": {
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "body"
    }
  },
  "definitions": {}
}