'2.0', 'metadata' => [ 'apiVersion' => '2019-10-15', 'endpointPrefix' => 'codestar-notifications', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS CodeStar Notifications', 'serviceId' => 'codestar notifications', 'signatureVersion' => 'v4', 'signingName' => 'codestar-notifications', 'uid' => 'codestar-notifications-2019-10-15', ], 'operations' => [ 'CreateNotificationRule' => [ 'name' => 'CreateNotificationRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/createNotificationRule', ], 'input' => [ 'shape' => 'CreateNotificationRuleRequest', ], 'output' => [ 'shape' => 'CreateNotificationRuleResult', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConfigurationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DeleteNotificationRule' => [ 'name' => 'DeleteNotificationRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteNotificationRule', ], 'input' => [ 'shape' => 'DeleteNotificationRuleRequest', ], 'output' => [ 'shape' => 'DeleteNotificationRuleResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteTarget' => [ 'name' => 'DeleteTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteTarget', ], 'input' => [ 'shape' => 'DeleteTargetRequest', ], 'output' => [ 'shape' => 'DeleteTargetResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DescribeNotificationRule' => [ 'name' => 'DescribeNotificationRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeNotificationRule', ], 'input' => [ 'shape' => 'DescribeNotificationRuleRequest', ], 'output' => [ 'shape' => 'DescribeNotificationRuleResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListEventTypes' => [ 'name' => 'ListEventTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/listEventTypes', ], 'input' => [ 'shape' => 'ListEventTypesRequest', ], 'output' => [ 'shape' => 'ListEventTypesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListNotificationRules' => [ 'name' => 'ListNotificationRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/listNotificationRules', ], 'input' => [ 'shape' => 'ListNotificationRulesRequest', ], 'output' => [ 'shape' => 'ListNotificationRulesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/listTagsForResource', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListTargets' => [ 'name' => 'ListTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/listTargets', ], 'input' => [ 'shape' => 'ListTargetsRequest', ], 'output' => [ 'shape' => 'ListTargetsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'Subscribe' => [ 'name' => 'Subscribe', 'http' => [ 'method' => 'POST', 'requestUri' => '/subscribe', ], 'input' => [ 'shape' => 'SubscribeRequest', ], 'output' => [ 'shape' => 'SubscribeResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tagResource', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'Unsubscribe' => [ 'name' => 'Unsubscribe', 'http' => [ 'method' => 'POST', 'requestUri' => '/unsubscribe', ], 'input' => [ 'shape' => 'UnsubscribeRequest', ], 'output' => [ 'shape' => 'UnsubscribeResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/untagResource', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateNotificationRule' => [ 'name' => 'UpdateNotificationRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateNotificationRule', ], 'input' => [ 'shape' => 'UpdateNotificationRuleRequest', ], 'output' => [ 'shape' => 'UpdateNotificationRuleResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[\\w:/-]+$', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ConfigurationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CreateNotificationRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'EventTypeIds', 'Resource', 'Targets', 'DetailType', ], 'members' => [ 'Name' => [ 'shape' => 'NotificationRuleName', ], 'EventTypeIds' => [ 'shape' => 'EventTypeIds', ], 'Resource' => [ 'shape' => 'NotificationRuleResource', ], 'Targets' => [ 'shape' => 'Targets', ], 'DetailType' => [ 'shape' => 'DetailType', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'Tags', ], 'Status' => [ 'shape' => 'NotificationRuleStatus', ], ], ], 'CreateNotificationRuleResult' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'CreatedTimestamp' => [ 'type' => 'timestamp', ], 'DeleteNotificationRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'DeleteNotificationRuleResult' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'DeleteTargetRequest' => [ 'type' => 'structure', 'required' => [ 'TargetAddress', ], 'members' => [ 'TargetAddress' => [ 'shape' => 'TargetAddress', ], 'ForceUnsubscribeAll' => [ 'shape' => 'ForceUnsubscribeAll', ], ], ], 'DeleteTargetResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeNotificationRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'DescribeNotificationRuleResult' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'Name' => [ 'shape' => 'NotificationRuleName', ], 'EventTypes' => [ 'shape' => 'EventTypeBatch', ], 'Resource' => [ 'shape' => 'NotificationRuleResource', ], 'Targets' => [ 'shape' => 'TargetsBatch', ], 'DetailType' => [ 'shape' => 'DetailType', ], 'CreatedBy' => [ 'shape' => 'NotificationRuleCreatedBy', ], 'Status' => [ 'shape' => 'NotificationRuleStatus', ], 'CreatedTimestamp' => [ 'shape' => 'CreatedTimestamp', ], 'LastModifiedTimestamp' => [ 'shape' => 'LastModifiedTimestamp', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DetailType' => [ 'type' => 'string', 'enum' => [ 'BASIC', 'FULL', ], ], 'EventTypeBatch' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventTypeSummary', ], ], 'EventTypeId' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'EventTypeIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventTypeId', ], ], 'EventTypeName' => [ 'type' => 'string', ], 'EventTypeSummary' => [ 'type' => 'structure', 'members' => [ 'EventTypeId' => [ 'shape' => 'EventTypeId', ], 'ServiceName' => [ 'shape' => 'ServiceName', ], 'EventTypeName' => [ 'shape' => 'EventTypeName', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'ForceUnsubscribeAll' => [ 'type' => 'boolean', ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LastModifiedTimestamp' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListEventTypesFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'ListEventTypesFilterName', ], 'Value' => [ 'shape' => 'ListEventTypesFilterValue', ], ], ], 'ListEventTypesFilterName' => [ 'type' => 'string', 'enum' => [ 'RESOURCE_TYPE', 'SERVICE_NAME', ], ], 'ListEventTypesFilterValue' => [ 'type' => 'string', ], 'ListEventTypesFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListEventTypesFilter', ], ], 'ListEventTypesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ListEventTypesFilters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListEventTypesResult' => [ 'type' => 'structure', 'members' => [ 'EventTypes' => [ 'shape' => 'EventTypeBatch', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListNotificationRulesFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'ListNotificationRulesFilterName', ], 'Value' => [ 'shape' => 'ListNotificationRulesFilterValue', ], ], ], 'ListNotificationRulesFilterName' => [ 'type' => 'string', 'enum' => [ 'EVENT_TYPE_ID', 'CREATED_BY', 'RESOURCE', 'TARGET_ADDRESS', ], ], 'ListNotificationRulesFilterValue' => [ 'type' => 'string', ], 'ListNotificationRulesFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListNotificationRulesFilter', ], ], 'ListNotificationRulesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ListNotificationRulesFilters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListNotificationRulesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'NotificationRules' => [ 'shape' => 'NotificationRuleBatch', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ListTargetsFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'ListTargetsFilterName', ], 'Value' => [ 'shape' => 'ListTargetsFilterValue', ], ], ], 'ListTargetsFilterName' => [ 'type' => 'string', 'enum' => [ 'TARGET_TYPE', 'TARGET_ADDRESS', 'TARGET_STATUS', ], ], 'ListTargetsFilterValue' => [ 'type' => 'string', ], 'ListTargetsFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListTargetsFilter', ], ], 'ListTargetsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ListTargetsFilters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListTargetsResult' => [ 'type' => 'structure', 'members' => [ 'Targets' => [ 'shape' => 'TargetsBatch', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Message' => [ 'type' => 'string', 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'pattern' => '^[\\w/+=]+$', ], 'NotificationRuleArn' => [ 'type' => 'string', 'pattern' => '^arn:aws[^:\\s]*:codestar-notifications:[^:\\s]+:\\d{12}:notificationrule\\/(.*\\S)?$', ], 'NotificationRuleBatch' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationRuleSummary', ], ], 'NotificationRuleCreatedBy' => [ 'type' => 'string', 'min' => 1, ], 'NotificationRuleId' => [ 'type' => 'string', 'max' => 40, 'min' => 1, ], 'NotificationRuleName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[A-Za-z0-9\\-_ ]+$', 'sensitive' => true, ], 'NotificationRuleResource' => [ 'type' => 'string', 'pattern' => '^arn:aws[^:\\s]*:[^:\\s]*:[^:\\s]*:[0-9]{12}:[^\\s]+$', ], 'NotificationRuleStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'NotificationRuleSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationRuleId', ], 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'min' => 1, 'pattern' => '^([a-zA-Z0-9-])+$', ], 'ServiceName' => [ 'type' => 'string', ], 'SubscribeRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Target', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'Target' => [ 'shape' => 'Target', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'SubscribeResult' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Tags', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagResourceResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'Target' => [ 'type' => 'structure', 'members' => [ 'TargetType' => [ 'shape' => 'TargetType', ], 'TargetAddress' => [ 'shape' => 'TargetAddress', ], ], ], 'TargetAddress' => [ 'type' => 'string', 'max' => 320, 'min' => 1, 'sensitive' => true, ], 'TargetStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACTIVE', 'UNREACHABLE', 'INACTIVE', 'DEACTIVATED', ], ], 'TargetSummary' => [ 'type' => 'structure', 'members' => [ 'TargetAddress' => [ 'shape' => 'TargetAddress', ], 'TargetType' => [ 'shape' => 'TargetType', ], 'TargetStatus' => [ 'shape' => 'TargetStatus', ], ], ], 'TargetType' => [ 'type' => 'string', 'pattern' => '^[A-Za-z]+$', ], 'Targets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Target', ], 'max' => 10, ], 'TargetsBatch' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetSummary', ], ], 'UnsubscribeRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'TargetAddress', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'TargetAddress' => [ 'shape' => 'TargetAddress', ], ], ], 'UnsubscribeResult' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'TagKeys', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'UntagResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotificationRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'NotificationRuleArn', ], 'Name' => [ 'shape' => 'NotificationRuleName', ], 'Status' => [ 'shape' => 'NotificationRuleStatus', ], 'EventTypeIds' => [ 'shape' => 'EventTypeIds', ], 'Targets' => [ 'shape' => 'Targets', ], 'DetailType' => [ 'shape' => 'DetailType', ], ], ], 'UpdateNotificationRuleResult' => [ 'type' => 'structure', 'members' => [], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ],];