{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2012-06-01",
    "endpointPrefix":"elasticloadbalancing",
    "protocol":"query",
    "serviceFullName":"Elastic Load Balancing",
    "serviceId":"Elastic Load Balancing",
    "signatureVersion":"v4",
    "uid":"elasticloadbalancing-2012-06-01",
    "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/"
  },
  "operations":{
    "AddTags":{
      "name":"AddTags",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AddTagsInput"},
      "output":{
        "shape":"AddTagsOutput",
        "resultWrapper":"AddTagsResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"TooManyTagsException"},
        {"shape":"DuplicateTagKeysException"}
      ]
    },
    "ApplySecurityGroupsToLoadBalancer":{
      "name":"ApplySecurityGroupsToLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ApplySecurityGroupsToLoadBalancerInput"},
      "output":{
        "shape":"ApplySecurityGroupsToLoadBalancerOutput",
        "resultWrapper":"ApplySecurityGroupsToLoadBalancerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"},
        {"shape":"InvalidSecurityGroupException"}
      ]
    },
    "AttachLoadBalancerToSubnets":{
      "name":"AttachLoadBalancerToSubnets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AttachLoadBalancerToSubnetsInput"},
      "output":{
        "shape":"AttachLoadBalancerToSubnetsOutput",
        "resultWrapper":"AttachLoadBalancerToSubnetsResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"},
        {"shape":"SubnetNotFoundException"},
        {"shape":"InvalidSubnetException"}
      ]
    },
    "ConfigureHealthCheck":{
      "name":"ConfigureHealthCheck",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ConfigureHealthCheckInput"},
      "output":{
        "shape":"ConfigureHealthCheckOutput",
        "resultWrapper":"ConfigureHealthCheckResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"}
      ]
    },
    "CreateAppCookieStickinessPolicy":{
      "name":"CreateAppCookieStickinessPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAppCookieStickinessPolicyInput"},
      "output":{
        "shape":"CreateAppCookieStickinessPolicyOutput",
        "resultWrapper":"CreateAppCookieStickinessPolicyResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"DuplicatePolicyNameException"},
        {"shape":"TooManyPoliciesException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "CreateLBCookieStickinessPolicy":{
      "name":"CreateLBCookieStickinessPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateLBCookieStickinessPolicyInput"},
      "output":{
        "shape":"CreateLBCookieStickinessPolicyOutput",
        "resultWrapper":"CreateLBCookieStickinessPolicyResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"DuplicatePolicyNameException"},
        {"shape":"TooManyPoliciesException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "CreateLoadBalancer":{
      "name":"CreateLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAccessPointInput"},
      "output":{
        "shape":"CreateAccessPointOutput",
        "resultWrapper":"CreateLoadBalancerResult"
      },
      "errors":[
        {"shape":"DuplicateAccessPointNameException"},
        {"shape":"TooManyAccessPointsException"},
        {"shape":"CertificateNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"},
        {"shape":"SubnetNotFoundException"},
        {"shape":"InvalidSubnetException"},
        {"shape":"InvalidSecurityGroupException"},
        {"shape":"InvalidSchemeException"},
        {"shape":"TooManyTagsException"},
        {"shape":"DuplicateTagKeysException"},
        {"shape":"UnsupportedProtocolException"},
        {"shape":"OperationNotPermittedException"}
      ]
    },
    "CreateLoadBalancerListeners":{
      "name":"CreateLoadBalancerListeners",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateLoadBalancerListenerInput"},
      "output":{
        "shape":"CreateLoadBalancerListenerOutput",
        "resultWrapper":"CreateLoadBalancerListenersResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"DuplicateListenerException"},
        {"shape":"CertificateNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"},
        {"shape":"UnsupportedProtocolException"}
      ]
    },
    "CreateLoadBalancerPolicy":{
      "name":"CreateLoadBalancerPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateLoadBalancerPolicyInput"},
      "output":{
        "shape":"CreateLoadBalancerPolicyOutput",
        "resultWrapper":"CreateLoadBalancerPolicyResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"PolicyTypeNotFoundException"},
        {"shape":"DuplicatePolicyNameException"},
        {"shape":"TooManyPoliciesException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "DeleteLoadBalancer":{
      "name":"DeleteLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAccessPointInput"},
      "output":{
        "shape":"DeleteAccessPointOutput",
        "resultWrapper":"DeleteLoadBalancerResult"
      }
    },
    "DeleteLoadBalancerListeners":{
      "name":"DeleteLoadBalancerListeners",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteLoadBalancerListenerInput"},
      "output":{
        "shape":"DeleteLoadBalancerListenerOutput",
        "resultWrapper":"DeleteLoadBalancerListenersResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"}
      ]
    },
    "DeleteLoadBalancerPolicy":{
      "name":"DeleteLoadBalancerPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteLoadBalancerPolicyInput"},
      "output":{
        "shape":"DeleteLoadBalancerPolicyOutput",
        "resultWrapper":"DeleteLoadBalancerPolicyResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "DeregisterInstancesFromLoadBalancer":{
      "name":"DeregisterInstancesFromLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeregisterEndPointsInput"},
      "output":{
        "shape":"DeregisterEndPointsOutput",
        "resultWrapper":"DeregisterInstancesFromLoadBalancerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidEndPointException"}
      ]
    },
    "DescribeAccountLimits":{
      "name":"DescribeAccountLimits",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAccountLimitsInput"},
      "output":{
        "shape":"DescribeAccountLimitsOutput",
        "resultWrapper":"DescribeAccountLimitsResult"
      }
    },
    "DescribeInstanceHealth":{
      "name":"DescribeInstanceHealth",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeEndPointStateInput"},
      "output":{
        "shape":"DescribeEndPointStateOutput",
        "resultWrapper":"DescribeInstanceHealthResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidEndPointException"}
      ]
    },
    "DescribeLoadBalancerAttributes":{
      "name":"DescribeLoadBalancerAttributes",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeLoadBalancerAttributesInput"},
      "output":{
        "shape":"DescribeLoadBalancerAttributesOutput",
        "resultWrapper":"DescribeLoadBalancerAttributesResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"LoadBalancerAttributeNotFoundException"}
      ]
    },
    "DescribeLoadBalancerPolicies":{
      "name":"DescribeLoadBalancerPolicies",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeLoadBalancerPoliciesInput"},
      "output":{
        "shape":"DescribeLoadBalancerPoliciesOutput",
        "resultWrapper":"DescribeLoadBalancerPoliciesResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"PolicyNotFoundException"}
      ]
    },
    "DescribeLoadBalancerPolicyTypes":{
      "name":"DescribeLoadBalancerPolicyTypes",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeLoadBalancerPolicyTypesInput"},
      "output":{
        "shape":"DescribeLoadBalancerPolicyTypesOutput",
        "resultWrapper":"DescribeLoadBalancerPolicyTypesResult"
      },
      "errors":[
        {"shape":"PolicyTypeNotFoundException"}
      ]
    },
    "DescribeLoadBalancers":{
      "name":"DescribeLoadBalancers",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAccessPointsInput"},
      "output":{
        "shape":"DescribeAccessPointsOutput",
        "resultWrapper":"DescribeLoadBalancersResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"DependencyThrottleException"}
      ]
    },
    "DescribeTags":{
      "name":"DescribeTags",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeTagsInput"},
      "output":{
        "shape":"DescribeTagsOutput",
        "resultWrapper":"DescribeTagsResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"}
      ]
    },
    "DetachLoadBalancerFromSubnets":{
      "name":"DetachLoadBalancerFromSubnets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DetachLoadBalancerFromSubnetsInput"},
      "output":{
        "shape":"DetachLoadBalancerFromSubnetsOutput",
        "resultWrapper":"DetachLoadBalancerFromSubnetsResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "DisableAvailabilityZonesForLoadBalancer":{
      "name":"DisableAvailabilityZonesForLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveAvailabilityZonesInput"},
      "output":{
        "shape":"RemoveAvailabilityZonesOutput",
        "resultWrapper":"DisableAvailabilityZonesForLoadBalancerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "EnableAvailabilityZonesForLoadBalancer":{
      "name":"EnableAvailabilityZonesForLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AddAvailabilityZonesInput"},
      "output":{
        "shape":"AddAvailabilityZonesOutput",
        "resultWrapper":"EnableAvailabilityZonesForLoadBalancerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"}
      ]
    },
    "ModifyLoadBalancerAttributes":{
      "name":"ModifyLoadBalancerAttributes",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ModifyLoadBalancerAttributesInput"},
      "output":{
        "shape":"ModifyLoadBalancerAttributesOutput",
        "resultWrapper":"ModifyLoadBalancerAttributesResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"LoadBalancerAttributeNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "RegisterInstancesWithLoadBalancer":{
      "name":"RegisterInstancesWithLoadBalancer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterEndPointsInput"},
      "output":{
        "shape":"RegisterEndPointsOutput",
        "resultWrapper":"RegisterInstancesWithLoadBalancerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"InvalidEndPointException"}
      ]
    },
    "RemoveTags":{
      "name":"RemoveTags",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveTagsInput"},
      "output":{
        "shape":"RemoveTagsOutput",
        "resultWrapper":"RemoveTagsResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"}
      ]
    },
    "SetLoadBalancerListenerSSLCertificate":{
      "name":"SetLoadBalancerListenerSSLCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SetLoadBalancerListenerSSLCertificateInput"},
      "output":{
        "shape":"SetLoadBalancerListenerSSLCertificateOutput",
        "resultWrapper":"SetLoadBalancerListenerSSLCertificateResult"
      },
      "errors":[
        {"shape":"CertificateNotFoundException"},
        {"shape":"AccessPointNotFoundException"},
        {"shape":"ListenerNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"},
        {"shape":"UnsupportedProtocolException"}
      ]
    },
    "SetLoadBalancerPoliciesForBackendServer":{
      "name":"SetLoadBalancerPoliciesForBackendServer",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SetLoadBalancerPoliciesForBackendServerInput"},
      "output":{
        "shape":"SetLoadBalancerPoliciesForBackendServerOutput",
        "resultWrapper":"SetLoadBalancerPoliciesForBackendServerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"PolicyNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    },
    "SetLoadBalancerPoliciesOfListener":{
      "name":"SetLoadBalancerPoliciesOfListener",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SetLoadBalancerPoliciesOfListenerInput"},
      "output":{
        "shape":"SetLoadBalancerPoliciesOfListenerOutput",
        "resultWrapper":"SetLoadBalancerPoliciesOfListenerResult"
      },
      "errors":[
        {"shape":"AccessPointNotFoundException"},
        {"shape":"PolicyNotFoundException"},
        {"shape":"ListenerNotFoundException"},
        {"shape":"InvalidConfigurationRequestException"}
      ]
    }
  },
  "shapes":{
    "AccessLog":{
      "type":"structure",
      "required":["Enabled"],
      "members":{
        "Enabled":{"shape":"AccessLogEnabled"},
        "S3BucketName":{"shape":"S3BucketName"},
        "EmitInterval":{"shape":"AccessLogInterval"},
        "S3BucketPrefix":{"shape":"AccessLogPrefix"}
      }
    },
    "AccessLogEnabled":{"type":"boolean"},
    "AccessLogInterval":{"type":"integer"},
    "AccessLogPrefix":{"type":"string"},
    "AccessPointName":{"type":"string"},
    "AccessPointNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"LoadBalancerNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "AccessPointPort":{"type":"integer"},
    "AddAvailabilityZonesInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "AvailabilityZones"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "AvailabilityZones":{"shape":"AvailabilityZones"}
      }
    },
    "AddAvailabilityZonesOutput":{
      "type":"structure",
      "members":{
        "AvailabilityZones":{"shape":"AvailabilityZones"}
      }
    },
    "AddTagsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerNames",
        "Tags"
      ],
      "members":{
        "LoadBalancerNames":{"shape":"LoadBalancerNames"},
        "Tags":{"shape":"TagList"}
      }
    },
    "AddTagsOutput":{
      "type":"structure",
      "members":{
      }
    },
    "AdditionalAttribute":{
      "type":"structure",
      "members":{
        "Key":{"shape":"AdditionalAttributeKey"},
        "Value":{"shape":"AdditionalAttributeValue"}
      }
    },
    "AdditionalAttributeKey":{
      "type":"string",
      "max":256,
      "pattern":"^[a-zA-Z0-9.]+$"
    },
    "AdditionalAttributeValue":{
      "type":"string",
      "max":256,
      "pattern":"^[a-zA-Z0-9.]+$"
    },
    "AdditionalAttributes":{
      "type":"list",
      "member":{"shape":"AdditionalAttribute"},
      "max":10
    },
    "AppCookieStickinessPolicies":{
      "type":"list",
      "member":{"shape":"AppCookieStickinessPolicy"}
    },
    "AppCookieStickinessPolicy":{
      "type":"structure",
      "members":{
        "PolicyName":{"shape":"PolicyName"},
        "CookieName":{"shape":"CookieName"}
      }
    },
    "ApplySecurityGroupsToLoadBalancerInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "SecurityGroups"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "SecurityGroups":{"shape":"SecurityGroups"}
      }
    },
    "ApplySecurityGroupsToLoadBalancerOutput":{
      "type":"structure",
      "members":{
        "SecurityGroups":{"shape":"SecurityGroups"}
      }
    },
    "AttachLoadBalancerToSubnetsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Subnets"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Subnets":{"shape":"Subnets"}
      }
    },
    "AttachLoadBalancerToSubnetsOutput":{
      "type":"structure",
      "members":{
        "Subnets":{"shape":"Subnets"}
      }
    },
    "AttributeName":{"type":"string"},
    "AttributeType":{"type":"string"},
    "AttributeValue":{"type":"string"},
    "AvailabilityZone":{"type":"string"},
    "AvailabilityZones":{
      "type":"list",
      "member":{"shape":"AvailabilityZone"}
    },
    "BackendServerDescription":{
      "type":"structure",
      "members":{
        "InstancePort":{"shape":"InstancePort"},
        "PolicyNames":{"shape":"PolicyNames"}
      }
    },
    "BackendServerDescriptions":{
      "type":"list",
      "member":{"shape":"BackendServerDescription"}
    },
    "Cardinality":{"type":"string"},
    "CertificateNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"CertificateNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ConfigureHealthCheckInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "HealthCheck"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "HealthCheck":{"shape":"HealthCheck"}
      }
    },
    "ConfigureHealthCheckOutput":{
      "type":"structure",
      "members":{
        "HealthCheck":{"shape":"HealthCheck"}
      }
    },
    "ConnectionDraining":{
      "type":"structure",
      "required":["Enabled"],
      "members":{
        "Enabled":{"shape":"ConnectionDrainingEnabled"},
        "Timeout":{"shape":"ConnectionDrainingTimeout"}
      }
    },
    "ConnectionDrainingEnabled":{"type":"boolean"},
    "ConnectionDrainingTimeout":{"type":"integer"},
    "ConnectionSettings":{
      "type":"structure",
      "required":["IdleTimeout"],
      "members":{
        "IdleTimeout":{"shape":"IdleTimeout"}
      }
    },
    "CookieExpirationPeriod":{"type":"long"},
    "CookieName":{"type":"string"},
    "CreateAccessPointInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Listeners"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Listeners":{"shape":"Listeners"},
        "AvailabilityZones":{"shape":"AvailabilityZones"},
        "Subnets":{"shape":"Subnets"},
        "SecurityGroups":{"shape":"SecurityGroups"},
        "Scheme":{"shape":"LoadBalancerScheme"},
        "Tags":{"shape":"TagList"}
      }
    },
    "CreateAccessPointOutput":{
      "type":"structure",
      "members":{
        "DNSName":{"shape":"DNSName"}
      }
    },
    "CreateAppCookieStickinessPolicyInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "PolicyName",
        "CookieName"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "PolicyName":{"shape":"PolicyName"},
        "CookieName":{"shape":"CookieName"}
      }
    },
    "CreateAppCookieStickinessPolicyOutput":{
      "type":"structure",
      "members":{
      }
    },
    "CreateLBCookieStickinessPolicyInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "PolicyName"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "PolicyName":{"shape":"PolicyName"},
        "CookieExpirationPeriod":{"shape":"CookieExpirationPeriod"}
      }
    },
    "CreateLBCookieStickinessPolicyOutput":{
      "type":"structure",
      "members":{
      }
    },
    "CreateLoadBalancerListenerInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Listeners"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Listeners":{"shape":"Listeners"}
      }
    },
    "CreateLoadBalancerListenerOutput":{
      "type":"structure",
      "members":{
      }
    },
    "CreateLoadBalancerPolicyInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "PolicyName",
        "PolicyTypeName"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "PolicyName":{"shape":"PolicyName"},
        "PolicyTypeName":{"shape":"PolicyTypeName"},
        "PolicyAttributes":{"shape":"PolicyAttributes"}
      }
    },
    "CreateLoadBalancerPolicyOutput":{
      "type":"structure",
      "members":{
      }
    },
    "CreatedTime":{"type":"timestamp"},
    "CrossZoneLoadBalancing":{
      "type":"structure",
      "required":["Enabled"],
      "members":{
        "Enabled":{"shape":"CrossZoneLoadBalancingEnabled"}
      }
    },
    "CrossZoneLoadBalancingEnabled":{"type":"boolean"},
    "DNSName":{"type":"string"},
    "DefaultValue":{"type":"string"},
    "DeleteAccessPointInput":{
      "type":"structure",
      "required":["LoadBalancerName"],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"}
      }
    },
    "DeleteAccessPointOutput":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteLoadBalancerListenerInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "LoadBalancerPorts"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "LoadBalancerPorts":{"shape":"Ports"}
      }
    },
    "DeleteLoadBalancerListenerOutput":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteLoadBalancerPolicyInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "PolicyName"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "PolicyName":{"shape":"PolicyName"}
      }
    },
    "DeleteLoadBalancerPolicyOutput":{
      "type":"structure",
      "members":{
      }
    },
    "DependencyThrottleException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"DependencyThrottle",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "DeregisterEndPointsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Instances"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Instances":{"shape":"Instances"}
      }
    },
    "DeregisterEndPointsOutput":{
      "type":"structure",
      "members":{
        "Instances":{"shape":"Instances"}
      }
    },
    "DescribeAccessPointsInput":{
      "type":"structure",
      "members":{
        "LoadBalancerNames":{"shape":"LoadBalancerNames"},
        "Marker":{"shape":"Marker"},
        "PageSize":{"shape":"PageSize"}
      }
    },
    "DescribeAccessPointsOutput":{
      "type":"structure",
      "members":{
        "LoadBalancerDescriptions":{"shape":"LoadBalancerDescriptions"},
        "NextMarker":{"shape":"Marker"}
      }
    },
    "DescribeAccountLimitsInput":{
      "type":"structure",
      "members":{
        "Marker":{"shape":"Marker"},
        "PageSize":{"shape":"PageSize"}
      }
    },
    "DescribeAccountLimitsOutput":{
      "type":"structure",
      "members":{
        "Limits":{"shape":"Limits"},
        "NextMarker":{"shape":"Marker"}
      }
    },
    "DescribeEndPointStateInput":{
      "type":"structure",
      "required":["LoadBalancerName"],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Instances":{"shape":"Instances"}
      }
    },
    "DescribeEndPointStateOutput":{
      "type":"structure",
      "members":{
        "InstanceStates":{"shape":"InstanceStates"}
      }
    },
    "DescribeLoadBalancerAttributesInput":{
      "type":"structure",
      "required":["LoadBalancerName"],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"}
      }
    },
    "DescribeLoadBalancerAttributesOutput":{
      "type":"structure",
      "members":{
        "LoadBalancerAttributes":{"shape":"LoadBalancerAttributes"}
      }
    },
    "DescribeLoadBalancerPoliciesInput":{
      "type":"structure",
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "PolicyNames":{"shape":"PolicyNames"}
      }
    },
    "DescribeLoadBalancerPoliciesOutput":{
      "type":"structure",
      "members":{
        "PolicyDescriptions":{"shape":"PolicyDescriptions"}
      }
    },
    "DescribeLoadBalancerPolicyTypesInput":{
      "type":"structure",
      "members":{
        "PolicyTypeNames":{"shape":"PolicyTypeNames"}
      }
    },
    "DescribeLoadBalancerPolicyTypesOutput":{
      "type":"structure",
      "members":{
        "PolicyTypeDescriptions":{"shape":"PolicyTypeDescriptions"}
      }
    },
    "DescribeTagsInput":{
      "type":"structure",
      "required":["LoadBalancerNames"],
      "members":{
        "LoadBalancerNames":{"shape":"LoadBalancerNamesMax20"}
      }
    },
    "DescribeTagsOutput":{
      "type":"structure",
      "members":{
        "TagDescriptions":{"shape":"TagDescriptions"}
      }
    },
    "Description":{"type":"string"},
    "DetachLoadBalancerFromSubnetsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Subnets"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Subnets":{"shape":"Subnets"}
      }
    },
    "DetachLoadBalancerFromSubnetsOutput":{
      "type":"structure",
      "members":{
        "Subnets":{"shape":"Subnets"}
      }
    },
    "DuplicateAccessPointNameException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"DuplicateLoadBalancerName",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "DuplicateListenerException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"DuplicateListener",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "DuplicatePolicyNameException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"DuplicatePolicyName",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "DuplicateTagKeysException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"DuplicateTagKeys",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "EndPointPort":{"type":"integer"},
    "HealthCheck":{
      "type":"structure",
      "required":[
        "Target",
        "Interval",
        "Timeout",
        "UnhealthyThreshold",
        "HealthyThreshold"
      ],
      "members":{
        "Target":{"shape":"HealthCheckTarget"},
        "Interval":{"shape":"HealthCheckInterval"},
        "Timeout":{"shape":"HealthCheckTimeout"},
        "UnhealthyThreshold":{"shape":"UnhealthyThreshold"},
        "HealthyThreshold":{"shape":"HealthyThreshold"}
      }
    },
    "HealthCheckInterval":{
      "type":"integer",
      "max":300,
      "min":5
    },
    "HealthCheckTarget":{"type":"string"},
    "HealthCheckTimeout":{
      "type":"integer",
      "max":60,
      "min":2
    },
    "HealthyThreshold":{
      "type":"integer",
      "max":10,
      "min":2
    },
    "IdleTimeout":{
      "type":"integer",
      "max":3600,
      "min":1
    },
    "Instance":{
      "type":"structure",
      "members":{
        "InstanceId":{"shape":"InstanceId"}
      }
    },
    "InstanceId":{"type":"string"},
    "InstancePort":{
      "type":"integer",
      "max":65535,
      "min":1
    },
    "InstanceState":{
      "type":"structure",
      "members":{
        "InstanceId":{"shape":"InstanceId"},
        "State":{"shape":"State"},
        "ReasonCode":{"shape":"ReasonCode"},
        "Description":{"shape":"Description"}
      }
    },
    "InstanceStates":{
      "type":"list",
      "member":{"shape":"InstanceState"}
    },
    "Instances":{
      "type":"list",
      "member":{"shape":"Instance"}
    },
    "InvalidConfigurationRequestException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"InvalidConfigurationRequest",
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "InvalidEndPointException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"InvalidInstance",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "InvalidSchemeException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"InvalidScheme",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "InvalidSecurityGroupException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"InvalidSecurityGroup",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "InvalidSubnetException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"InvalidSubnet",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "LBCookieStickinessPolicies":{
      "type":"list",
      "member":{"shape":"LBCookieStickinessPolicy"}
    },
    "LBCookieStickinessPolicy":{
      "type":"structure",
      "members":{
        "PolicyName":{"shape":"PolicyName"},
        "CookieExpirationPeriod":{"shape":"CookieExpirationPeriod"}
      }
    },
    "Limit":{
      "type":"structure",
      "members":{
        "Name":{"shape":"Name"},
        "Max":{"shape":"Max"}
      }
    },
    "Limits":{
      "type":"list",
      "member":{"shape":"Limit"}
    },
    "Listener":{
      "type":"structure",
      "required":[
        "Protocol",
        "LoadBalancerPort",
        "InstancePort"
      ],
      "members":{
        "Protocol":{"shape":"Protocol"},
        "LoadBalancerPort":{"shape":"AccessPointPort"},
        "InstanceProtocol":{"shape":"Protocol"},
        "InstancePort":{"shape":"InstancePort"},
        "SSLCertificateId":{"shape":"SSLCertificateId"}
      }
    },
    "ListenerDescription":{
      "type":"structure",
      "members":{
        "Listener":{"shape":"Listener"},
        "PolicyNames":{"shape":"PolicyNames"}
      }
    },
    "ListenerDescriptions":{
      "type":"list",
      "member":{"shape":"ListenerDescription"}
    },
    "ListenerNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"ListenerNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Listeners":{
      "type":"list",
      "member":{"shape":"Listener"}
    },
    "LoadBalancerAttributeNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"LoadBalancerAttributeNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "LoadBalancerAttributes":{
      "type":"structure",
      "members":{
        "CrossZoneLoadBalancing":{"shape":"CrossZoneLoadBalancing"},
        "AccessLog":{"shape":"AccessLog"},
        "ConnectionDraining":{"shape":"ConnectionDraining"},
        "ConnectionSettings":{"shape":"ConnectionSettings"},
        "AdditionalAttributes":{"shape":"AdditionalAttributes"}
      }
    },
    "LoadBalancerDescription":{
      "type":"structure",
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "DNSName":{"shape":"DNSName"},
        "CanonicalHostedZoneName":{"shape":"DNSName"},
        "CanonicalHostedZoneNameID":{"shape":"DNSName"},
        "ListenerDescriptions":{"shape":"ListenerDescriptions"},
        "Policies":{"shape":"Policies"},
        "BackendServerDescriptions":{"shape":"BackendServerDescriptions"},
        "AvailabilityZones":{"shape":"AvailabilityZones"},
        "Subnets":{"shape":"Subnets"},
        "VPCId":{"shape":"VPCId"},
        "Instances":{"shape":"Instances"},
        "HealthCheck":{"shape":"HealthCheck"},
        "SourceSecurityGroup":{"shape":"SourceSecurityGroup"},
        "SecurityGroups":{"shape":"SecurityGroups"},
        "CreatedTime":{"shape":"CreatedTime"},
        "Scheme":{"shape":"LoadBalancerScheme"}
      }
    },
    "LoadBalancerDescriptions":{
      "type":"list",
      "member":{"shape":"LoadBalancerDescription"}
    },
    "LoadBalancerNames":{
      "type":"list",
      "member":{"shape":"AccessPointName"}
    },
    "LoadBalancerNamesMax20":{
      "type":"list",
      "member":{"shape":"AccessPointName"},
      "max":20,
      "min":1
    },
    "LoadBalancerScheme":{"type":"string"},
    "Marker":{"type":"string"},
    "Max":{"type":"string"},
    "ModifyLoadBalancerAttributesInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "LoadBalancerAttributes"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "LoadBalancerAttributes":{"shape":"LoadBalancerAttributes"}
      }
    },
    "ModifyLoadBalancerAttributesOutput":{
      "type":"structure",
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "LoadBalancerAttributes":{"shape":"LoadBalancerAttributes"}
      }
    },
    "Name":{"type":"string"},
    "OperationNotPermittedException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"OperationNotPermitted",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "PageSize":{
      "type":"integer",
      "max":400,
      "min":1
    },
    "Policies":{
      "type":"structure",
      "members":{
        "AppCookieStickinessPolicies":{"shape":"AppCookieStickinessPolicies"},
        "LBCookieStickinessPolicies":{"shape":"LBCookieStickinessPolicies"},
        "OtherPolicies":{"shape":"PolicyNames"}
      }
    },
    "PolicyAttribute":{
      "type":"structure",
      "members":{
        "AttributeName":{"shape":"AttributeName"},
        "AttributeValue":{"shape":"AttributeValue"}
      }
    },
    "PolicyAttributeDescription":{
      "type":"structure",
      "members":{
        "AttributeName":{"shape":"AttributeName"},
        "AttributeValue":{"shape":"AttributeValue"}
      }
    },
    "PolicyAttributeDescriptions":{
      "type":"list",
      "member":{"shape":"PolicyAttributeDescription"}
    },
    "PolicyAttributeTypeDescription":{
      "type":"structure",
      "members":{
        "AttributeName":{"shape":"AttributeName"},
        "AttributeType":{"shape":"AttributeType"},
        "Description":{"shape":"Description"},
        "DefaultValue":{"shape":"DefaultValue"},
        "Cardinality":{"shape":"Cardinality"}
      }
    },
    "PolicyAttributeTypeDescriptions":{
      "type":"list",
      "member":{"shape":"PolicyAttributeTypeDescription"}
    },
    "PolicyAttributes":{
      "type":"list",
      "member":{"shape":"PolicyAttribute"}
    },
    "PolicyDescription":{
      "type":"structure",
      "members":{
        "PolicyName":{"shape":"PolicyName"},
        "PolicyTypeName":{"shape":"PolicyTypeName"},
        "PolicyAttributeDescriptions":{"shape":"PolicyAttributeDescriptions"}
      }
    },
    "PolicyDescriptions":{
      "type":"list",
      "member":{"shape":"PolicyDescription"}
    },
    "PolicyName":{"type":"string"},
    "PolicyNames":{
      "type":"list",
      "member":{"shape":"PolicyName"}
    },
    "PolicyNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"PolicyNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "PolicyTypeDescription":{
      "type":"structure",
      "members":{
        "PolicyTypeName":{"shape":"PolicyTypeName"},
        "Description":{"shape":"Description"},
        "PolicyAttributeTypeDescriptions":{"shape":"PolicyAttributeTypeDescriptions"}
      }
    },
    "PolicyTypeDescriptions":{
      "type":"list",
      "member":{"shape":"PolicyTypeDescription"}
    },
    "PolicyTypeName":{"type":"string"},
    "PolicyTypeNames":{
      "type":"list",
      "member":{"shape":"PolicyTypeName"}
    },
    "PolicyTypeNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"PolicyTypeNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Ports":{
      "type":"list",
      "member":{"shape":"AccessPointPort"}
    },
    "Protocol":{"type":"string"},
    "ReasonCode":{"type":"string"},
    "RegisterEndPointsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "Instances"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Instances":{"shape":"Instances"}
      }
    },
    "RegisterEndPointsOutput":{
      "type":"structure",
      "members":{
        "Instances":{"shape":"Instances"}
      }
    },
    "RemoveAvailabilityZonesInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "AvailabilityZones"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "AvailabilityZones":{"shape":"AvailabilityZones"}
      }
    },
    "RemoveAvailabilityZonesOutput":{
      "type":"structure",
      "members":{
        "AvailabilityZones":{"shape":"AvailabilityZones"}
      }
    },
    "RemoveTagsInput":{
      "type":"structure",
      "required":[
        "LoadBalancerNames",
        "Tags"
      ],
      "members":{
        "LoadBalancerNames":{"shape":"LoadBalancerNames"},
        "Tags":{"shape":"TagKeyList"}
      }
    },
    "RemoveTagsOutput":{
      "type":"structure",
      "members":{
      }
    },
    "S3BucketName":{"type":"string"},
    "SSLCertificateId":{"type":"string"},
    "SecurityGroupId":{"type":"string"},
    "SecurityGroupName":{"type":"string"},
    "SecurityGroupOwnerAlias":{"type":"string"},
    "SecurityGroups":{
      "type":"list",
      "member":{"shape":"SecurityGroupId"}
    },
    "SetLoadBalancerListenerSSLCertificateInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "LoadBalancerPort",
        "SSLCertificateId"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "LoadBalancerPort":{"shape":"AccessPointPort"},
        "SSLCertificateId":{"shape":"SSLCertificateId"}
      }
    },
    "SetLoadBalancerListenerSSLCertificateOutput":{
      "type":"structure",
      "members":{
      }
    },
    "SetLoadBalancerPoliciesForBackendServerInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "InstancePort",
        "PolicyNames"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "InstancePort":{"shape":"EndPointPort"},
        "PolicyNames":{"shape":"PolicyNames"}
      }
    },
    "SetLoadBalancerPoliciesForBackendServerOutput":{
      "type":"structure",
      "members":{
      }
    },
    "SetLoadBalancerPoliciesOfListenerInput":{
      "type":"structure",
      "required":[
        "LoadBalancerName",
        "LoadBalancerPort",
        "PolicyNames"
      ],
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "LoadBalancerPort":{"shape":"AccessPointPort"},
        "PolicyNames":{"shape":"PolicyNames"}
      }
    },
    "SetLoadBalancerPoliciesOfListenerOutput":{
      "type":"structure",
      "members":{
      }
    },
    "SourceSecurityGroup":{
      "type":"structure",
      "members":{
        "OwnerAlias":{"shape":"SecurityGroupOwnerAlias"},
        "GroupName":{"shape":"SecurityGroupName"}
      }
    },
    "State":{"type":"string"},
    "SubnetId":{"type":"string"},
    "SubnetNotFoundException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"SubnetNotFound",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Subnets":{
      "type":"list",
      "member":{"shape":"SubnetId"}
    },
    "Tag":{
      "type":"structure",
      "required":["Key"],
      "members":{
        "Key":{"shape":"TagKey"},
        "Value":{"shape":"TagValue"}
      }
    },
    "TagDescription":{
      "type":"structure",
      "members":{
        "LoadBalancerName":{"shape":"AccessPointName"},
        "Tags":{"shape":"TagList"}
      }
    },
    "TagDescriptions":{
      "type":"list",
      "member":{"shape":"TagDescription"}
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKeyOnly"},
      "min":1
    },
    "TagKeyOnly":{
      "type":"structure",
      "members":{
        "Key":{"shape":"TagKey"}
      }
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "min":1
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
    },
    "TooManyAccessPointsException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"TooManyLoadBalancers",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "TooManyPoliciesException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"TooManyPolicies",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "TooManyTagsException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"TooManyTags",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "UnhealthyThreshold":{
      "type":"integer",
      "max":10,
      "min":2
    },
    "UnsupportedProtocolException":{
      "type":"structure",
      "members":{
      },
      "error":{
        "code":"UnsupportedProtocol",
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "VPCId":{"type":"string"}
  }
}
