{
  "$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": "describeSecurityGroups",
      "enum": [
        "describeSecurityGroups",
        "describeStaleSecurityGroups",
        "describeSecurityGroupReferences",
        "createSecurityGroup",
        "authorizeSecurityGroupIngress",
        "authorizeSecurityGroupEgress",
        "revokeSecurityGroupEgress",
        "revokeSecurityGroupIngress",
        "updateSecurityGroupRuleDescriptionsEgress",
        "updateSecurityGroupRuleDescriptionsIngress",
        "deleteSecurityGroup",
        "applySecurityGroupsToClientVpnTargetNetwork"
      ],
      "external_name": "ph_request_type"
    },
    "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"
    },
    "securityGroupId": {
      "description": "The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SecurityGroupId"
    },
    "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"
    },
    "groupId": {
      "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must s...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "GroupId"
    },
    "groupName": {
      "description": "[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "GroupName"
    },
    "groupDescription": {
      "description": "A description for the security group. This is informational only.   Constraints: Up to 255 characters in length   Constraints for EC2-Classic: ASCII characters   Constra...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "GroupDescription"
    },
    "maxResults": {
      "description": "The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "MaxResults"
    },
    "nextToken": {
      "description": "The token for the next set of items to return. (You received this token from a prior call.)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "NextToken"
    },
    "vpcId": {
      "description": "The ID of the VPC.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "VpcId"
    },
    "cidrIp": {
      "description": "The CIDR IP address range. You can&#39;t specify this parameter when specifying a source security group.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "CidrIp"
    },
    "clientVpnEndpointId": {
      "description": "The ID of the Client VPN endpoint.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ClientVpnEndpointId"
    },
    "ipProtocol": {
      "description": "The IP protocol name ( tcp ,  udp ,  icmp ) or number (see  Protocol Numbers ). Use  -1  to specify all.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "IpProtocol"
    },
    "ipPermissions": {
      "description": "The IP permissions for the security group rule.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "IpPermissions"
    },
    "sourceSecurityGroupName": {
      "description": "[EC2-Classic, default VPC] The name of the source security group. You can&#39;t specify this parameter in combination with the following parameters: the CIDR IP address range...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SourceSecurityGroupName"
    },
    "sourceSecurityGroupOwnerId": {
      "description": "[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can&#39;t specify this parameter in combination wit...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "SourceSecurityGroupOwnerId"
    },
    "fromPort": {
      "description": "The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use  -1  to specify all ICMP types.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "FromPort"
    },
    "toPort": {
      "description": "The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use  -1  to specify all ICMP codes for the ICMP type.",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ToPort"
    },
    "filter": {
      "description": "The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filt...(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": {}
}