{ "smithy": "1.0", "shapes": { "aws.api#arn": { "type": "structure", "members": { "template": { "target": "smithy.api#String", "traits": { "smithy.api#required": {} } }, "absolute": { "target": "smithy.api#Boolean" }, "noRegion": { "target": "smithy.api#Boolean" }, "noAccount": { "target": "smithy.api#Boolean" } }, "traits": { "smithy.api#trait": { "selector": "resource" }, "smithy.api#externalDocumentation": { "Reference": "https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html" }, "smithy.api#documentation": "Specifies an ARN template for the resource." } }, "aws.api#service": { "type": "structure", "members": { "sdkId": { "target": "smithy.api#String", "traits": { "smithy.api#required": {} } }, "arnNamespace": { "target": "aws.api#ArnNamespace" }, "cloudFormationName": { "target": "aws.api#CloudFormationName" }, "cloudTrailEventSource": { "target": "smithy.api#String" } }, "traits": { "smithy.api#trait": { "selector": "service" } } }, "aws.api#arnReference": { "type": "structure", "members": { "type": { "target": "smithy.api#String" }, "resource": { "target": "smithy.api#String" }, "service": { "target": "smithy.api#String" } }, "traits": { "smithy.api#trait": { "selector": "string" }, "smithy.api#documentation": "Marks a string as containing an ARN." } }, "aws.api#data": { "type": "string", "traits": { "smithy.api#trait": { "selector": ":test(simpleType, collection, structure, union, member)" }, "smithy.api#enum": [ { "value": "content", "name": "CUSTOMER_CONTENT", "documentation": "Customer content means any software (including machine images), data, text, audio, video or images that customers or any customer end user transfers to AWS for processing, storage or hosting by AWS services in connection with the customer\u2019s accounts and any computational results that customers or any customer end user derive from the foregoing through their use of AWS services." }, { "value": "account", "name": "CUSTOMER_ACCOUNT_INFORMATION", "documentation": "Account information means information about customers that customers provide to AWS in connection with the creation or administration of customers\u2019 accounts." }, { "value": "usage", "name": "SERVICE_ATTRIBUTES", "documentation": "Service Attributes means service usage data related to a customer\u2019s account, such as resource identifiers, metadata tags, security and access roles, rules, usage policies, permissions, usage statistics, logging data, and analytics." }, { "value": "tagging", "name": "TAG_DATA", "documentation": "Designates metadata tags applied to AWS resources." }, { "value": "permissions", "name": "PERMISSIONS_DATA", "documentation": "Designates security and access roles, rules, usage policies, and permissions." } ], "smithy.api#documentation": "Designates the target as containing data of a known classification level." } }, "aws.api#controlPlane": { "type": "structure", "traits": { "smithy.api#trait": { "selector": ":test(service, resource, operation)", "conflicts": [ "aws.api#dataPlane" ] }, "smithy.api#documentation": "Defines a service, resource, or operation as operating on the control plane." } }, "aws.api#dataPlane": { "type": "structure", "traits": { "smithy.api#trait": { "selector": ":test(service, resource, operation)", "conflicts": [ "aws.api#controlPlane" ] }, "smithy.api#documentation": "Defines a service, resource, or operation as operating on the data plane." } }, "aws.api#ArnNamespace": { "type": "string", "traits": { "smithy.api#pattern": "^[a-z0-9.\\-]{1,63}$", "smithy.api#private": {} } }, "aws.api#CloudFormationName": { "type": "string", "traits": { "smithy.api#pattern": "^[A-Z][A-Za-z0-9]+$", "smithy.api#private": {} } }, "aws.api#clientDiscoveredEndpoint": { "type": "structure", "members": { "required": { "target": "smithy.api#Boolean", "traits": { "smithy.api#required": {} } } }, "traits": { "smithy.api#trait": { "selector": "operation" }, "smithy.api#documentation": "Indicates that the target operation should use the client's endpoint discovery logic." } }, "aws.api#clientEndpointDiscoveryId": { "type": "structure", "traits": { "smithy.api#trait": { "selector": "operation[trait|aws.api#clientDiscoveredEndpoint] -[input]-> structure > :test(member[trait|required] > string)" }, "smithy.api#documentation": "Indicates members of the operation input which should be use to discover endpoints." } }, "aws.api#clientEndpointDiscovery": { "type": "structure", "members": { "operation": { "target": "smithy.api#String", "traits": { "smithy.api#idRef": { "failWhenMissing": true, "selector": "operation" }, "smithy.api#required": {}, "smithy.api#documentation": "Indicates the operation that clients should use to discover endpoints for the service." } }, "error": { "target": "smithy.api#String", "traits": { "smithy.api#idRef": { "failWhenMissing": true, "selector": "structure[trait|error]" }, "smithy.api#required": {}, "smithy.api#documentation": "Indicates the error that tells clients that the endpoint they are using is no longer valid. This error MUST be bound to any operation bound to the service which is marked with the aws.api#clientDiscoveredEndpoint trait." } } }, "traits": { "smithy.api#trait": { "selector": "service" }, "smithy.api#documentation": "Configures endpoint discovery for the service." } } } }