'2.0', 'metadata' => [ 'apiVersion' => '2018-01-01', 'endpointPrefix' => 'fms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'FMS', 'serviceFullName' => 'Firewall Management Service', 'serviceId' => 'FMS', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSFMS_20180101', 'uid' => 'fms-2018-01-01', ], 'operations' => [ 'AssociateAdminAccount' => [ 'name' => 'AssociateAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAdminAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteAppsList' => [ 'name' => 'DeleteAppsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAppsListRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteNotificationChannel' => [ 'name' => 'DeleteNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotificationChannelRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteProtocolsList' => [ 'name' => 'DeleteProtocolsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProtocolsListRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DisassociateAdminAccount' => [ 'name' => 'DisassociateAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAdminAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetAdminAccount' => [ 'name' => 'GetAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAdminAccountRequest', ], 'output' => [ 'shape' => 'GetAdminAccountResponse', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetAppsList' => [ 'name' => 'GetAppsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAppsListRequest', ], 'output' => [ 'shape' => 'GetAppsListResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetComplianceDetail' => [ 'name' => 'GetComplianceDetail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'GetNotificationChannel' => [ 'name' => 'GetNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetNotificationChannelRequest', ], 'output' => [ 'shape' => 'GetNotificationChannelResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetPolicy' => [ 'name' => 'GetPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPolicyRequest', ], 'output' => [ 'shape' => 'GetPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidTypeException', ], ], ], 'GetProtectionStatus' => [ 'name' => 'GetProtectionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProtectionStatusRequest', ], 'output' => [ 'shape' => 'GetProtectionStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetProtocolsList' => [ 'name' => 'GetProtocolsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProtocolsListRequest', ], 'output' => [ 'shape' => 'GetProtocolsListResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetViolationDetails' => [ 'name' => 'GetViolationDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetViolationDetailsRequest', ], 'output' => [ 'shape' => 'GetViolationDetailsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListAppsLists' => [ 'name' => 'ListAppsLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAppsListsRequest', ], 'output' => [ 'shape' => 'ListAppsListsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListComplianceStatus' => [ 'name' => 'ListComplianceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListComplianceStatusRequest', ], 'output' => [ 'shape' => 'ListComplianceStatusResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListMemberAccounts' => [ 'name' => 'ListMemberAccounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMemberAccountsRequest', ], 'output' => [ 'shape' => 'ListMemberAccountsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListPolicies' => [ 'name' => 'ListPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesRequest', ], 'output' => [ 'shape' => 'ListPoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListProtocolsLists' => [ 'name' => 'ListProtocolsLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProtocolsListsRequest', ], 'output' => [ 'shape' => 'ListProtocolsListsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'PutAppsList' => [ 'name' => 'PutAppsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAppsListRequest', ], 'output' => [ 'shape' => 'PutAppsListResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'PutNotificationChannel' => [ 'name' => 'PutNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutNotificationChannelRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'PutPolicy' => [ 'name' => 'PutPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPolicyRequest', ], 'output' => [ 'shape' => 'PutPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidTypeException', ], ], ], 'PutProtocolsList' => [ 'name' => 'PutProtocolsList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutProtocolsListRequest', ], 'output' => [ 'shape' => 'PutProtocolsListResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidInputException', ], ], ], ], 'shapes' => [ 'AWSAccountId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^[0-9]+$', ], 'AccountRoleStatus' => [ 'type' => 'string', 'enum' => [ 'READY', 'CREATING', 'PENDING_DELETION', 'DELETING', 'DELETED', ], ], 'App' => [ 'type' => 'structure', 'required' => [ 'AppName', 'Protocol', 'Port', ], 'members' => [ 'AppName' => [ 'shape' => 'ResourceName', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'Port' => [ 'shape' => 'IPPortNumber', ], ], ], 'AppsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'App', ], ], 'AppsListData' => [ 'type' => 'structure', 'required' => [ 'ListName', 'AppsList', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], 'ListName' => [ 'shape' => 'ResourceName', ], 'ListUpdateToken' => [ 'shape' => 'UpdateToken', ], 'CreateTime' => [ 'shape' => 'TimeStamp', ], 'LastUpdateTime' => [ 'shape' => 'TimeStamp', ], 'AppsList' => [ 'shape' => 'AppsList', ], 'PreviousAppsList' => [ 'shape' => 'PreviousAppsList', ], ], ], 'AppsListDataSummary' => [ 'type' => 'structure', 'members' => [ 'ListArn' => [ 'shape' => 'ResourceArn', ], 'ListId' => [ 'shape' => 'ListId', ], 'ListName' => [ 'shape' => 'ResourceName', ], 'AppsList' => [ 'shape' => 'AppsList', ], ], ], 'AppsListsData' => [ 'type' => 'list', 'member' => [ 'shape' => 'AppsListDataSummary', ], ], 'AssociateAdminAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AdminAccount', ], 'members' => [ 'AdminAccount' => [ 'shape' => 'AWSAccountId', ], ], ], 'AwsEc2InstanceViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'AwsEc2NetworkInterfaceViolations' => [ 'shape' => 'AwsEc2NetworkInterfaceViolations', ], ], ], 'AwsEc2NetworkInterfaceViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'ViolatingSecurityGroups' => [ 'shape' => 'ResourceIdList', ], ], ], 'AwsEc2NetworkInterfaceViolations' => [ 'type' => 'list', 'member' => [ 'shape' => 'AwsEc2NetworkInterfaceViolation', ], ], 'AwsVPCSecurityGroupViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'ViolationTargetDescription' => [ 'shape' => 'LengthBoundedString', ], 'PartialMatches' => [ 'shape' => 'PartialMatches', ], 'PossibleSecurityGroupRemediationActions' => [ 'shape' => 'SecurityGroupRemediationActions', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CIDR' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[a-f0-9:./]+', ], 'ComplianceViolator' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ViolationReason' => [ 'shape' => 'ViolationReason', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'ComplianceViolators' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceViolator', ], ], 'CustomerPolicyScopeId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'CustomerPolicyScopeIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerPolicyScopeId', ], ], 'CustomerPolicyScopeIdType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORG_UNIT', ], ], 'CustomerPolicyScopeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'CustomerPolicyScopeIdType', ], 'value' => [ 'shape' => 'CustomerPolicyScopeIdList', ], ], 'DeleteAppsListRequest' => [ 'type' => 'structure', 'required' => [ 'ListId', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], ], ], 'DeleteNotificationChannelRequest' => [ 'type' => 'structure', 'members' => [], ], 'DeletePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'DeleteAllPolicyResources' => [ 'shape' => 'Boolean', ], ], ], 'DeleteProtocolsListRequest' => [ 'type' => 'structure', 'required' => [ 'ListId', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], ], ], 'DependentServiceName' => [ 'type' => 'string', 'enum' => [ 'AWSCONFIG', 'AWSWAF', 'AWSSHIELD_ADVANCED', 'AWSVPC', ], ], 'DetailedInfo' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=,+\\-@]*)$', ], 'DisassociateAdminAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'ErrorMessage' => [ 'type' => 'string', ], 'EvaluationResult' => [ 'type' => 'structure', 'members' => [ 'ComplianceStatus' => [ 'shape' => 'PolicyComplianceStatusType', ], 'ViolatorCount' => [ 'shape' => 'ResourceCount', ], 'EvaluationLimitExceeded' => [ 'shape' => 'Boolean', ], ], ], 'EvaluationResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'EvaluationResult', ], ], 'GetAdminAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAdminAccountResponse' => [ 'type' => 'structure', 'members' => [ 'AdminAccount' => [ 'shape' => 'AWSAccountId', ], 'RoleStatus' => [ 'shape' => 'AccountRoleStatus', ], ], ], 'GetAppsListRequest' => [ 'type' => 'structure', 'required' => [ 'ListId', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], 'DefaultList' => [ 'shape' => 'Boolean', ], ], ], 'GetAppsListResponse' => [ 'type' => 'structure', 'members' => [ 'AppsList' => [ 'shape' => 'AppsListData', ], 'AppsListArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetComplianceDetailRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'MemberAccount', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], ], ], 'GetComplianceDetailResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyComplianceDetail' => [ 'shape' => 'PolicyComplianceDetail', ], ], ], 'GetNotificationChannelRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetNotificationChannelResponse' => [ 'type' => 'structure', 'members' => [ 'SnsTopicArn' => [ 'shape' => 'ResourceArn', ], 'SnsRoleName' => [ 'shape' => 'ResourceArn', ], ], ], 'GetPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], ], ], 'GetPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], 'PolicyArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetProtectionStatusRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccountId' => [ 'shape' => 'AWSAccountId', ], 'StartTime' => [ 'shape' => 'TimeStamp', ], 'EndTime' => [ 'shape' => 'TimeStamp', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'GetProtectionStatusResponse' => [ 'type' => 'structure', 'members' => [ 'AdminAccountId' => [ 'shape' => 'AWSAccountId', ], 'ServiceType' => [ 'shape' => 'SecurityServiceType', ], 'Data' => [ 'shape' => 'ProtectionData', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetProtocolsListRequest' => [ 'type' => 'structure', 'required' => [ 'ListId', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], 'DefaultList' => [ 'shape' => 'Boolean', ], ], ], 'GetProtocolsListResponse' => [ 'type' => 'structure', 'members' => [ 'ProtocolsList' => [ 'shape' => 'ProtocolsListData', ], 'ProtocolsListArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetViolationDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'MemberAccount', 'ResourceId', 'ResourceType', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'GetViolationDetailsResponse' => [ 'type' => 'structure', 'members' => [ 'ViolationDetail' => [ 'shape' => 'ViolationDetail', ], ], ], 'IPPortNumber' => [ 'type' => 'long', 'max' => 65535, 'min' => 0, ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidTypeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IssueInfoMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DependentServiceName', ], 'value' => [ 'shape' => 'DetailedInfo', ], ], 'LengthBoundedString' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListAppsListsRequest' => [ 'type' => 'structure', 'required' => [ 'MaxResults', ], 'members' => [ 'DefaultLists' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListAppsListsResponse' => [ 'type' => 'structure', 'members' => [ 'AppsLists' => [ 'shape' => 'AppsListsData', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListComplianceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListComplianceStatusResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyComplianceStatusList' => [ 'shape' => 'PolicyComplianceStatusList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[a-z0-9A-Z-]{36}$', ], 'ListMemberAccountsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListMemberAccountsResponse' => [ 'type' => 'structure', 'members' => [ 'MemberAccounts' => [ 'shape' => 'MemberAccounts', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListPoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyList' => [ 'shape' => 'PolicySummaryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListProtocolsListsRequest' => [ 'type' => 'structure', 'required' => [ 'MaxResults', ], 'members' => [ 'DefaultLists' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListProtocolsListsResponse' => [ 'type' => 'structure', 'members' => [ 'ProtocolsLists' => [ 'shape' => 'ProtocolsListsData', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'ManagedServiceData' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, 'pattern' => '.*', ], 'MemberAccounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'AWSAccountId', ], ], 'NetworkFirewallAction' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9]+$', ], 'NetworkFirewallActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkFirewallAction', ], ], 'NetworkFirewallMissingExpectedRTViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'VPC' => [ 'shape' => 'ResourceId', ], 'AvailabilityZone' => [ 'shape' => 'LengthBoundedString', ], 'CurrentRouteTable' => [ 'shape' => 'ResourceId', ], 'ExpectedRouteTable' => [ 'shape' => 'ResourceId', ], ], ], 'NetworkFirewallMissingFirewallViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'VPC' => [ 'shape' => 'ResourceId', ], 'AvailabilityZone' => [ 'shape' => 'LengthBoundedString', ], 'TargetViolationReason' => [ 'shape' => 'TargetViolationReason', ], ], ], 'NetworkFirewallMissingSubnetViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'VPC' => [ 'shape' => 'ResourceId', ], 'AvailabilityZone' => [ 'shape' => 'LengthBoundedString', ], 'TargetViolationReason' => [ 'shape' => 'TargetViolationReason', ], ], ], 'NetworkFirewallPolicyDescription' => [ 'type' => 'structure', 'members' => [ 'StatelessRuleGroups' => [ 'shape' => 'StatelessRuleGroupList', ], 'StatelessDefaultActions' => [ 'shape' => 'NetworkFirewallActionList', ], 'StatelessFragmentDefaultActions' => [ 'shape' => 'NetworkFirewallActionList', ], 'StatelessCustomActions' => [ 'shape' => 'NetworkFirewallActionList', ], 'StatefulRuleGroups' => [ 'shape' => 'StatefulRuleGroupList', ], ], ], 'NetworkFirewallPolicyModifiedViolation' => [ 'type' => 'structure', 'members' => [ 'ViolationTarget' => [ 'shape' => 'ViolationTarget', ], 'CurrentPolicyDescription' => [ 'shape' => 'NetworkFirewallPolicyDescription', ], 'ExpectedPolicyDescription' => [ 'shape' => 'NetworkFirewallPolicyDescription', ], ], ], 'NetworkFirewallResourceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-]+$', ], 'PaginationMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'PartialMatch' => [ 'type' => 'structure', 'members' => [ 'Reference' => [ 'shape' => 'ReferenceRule', ], 'TargetViolationReasons' => [ 'shape' => 'TargetViolationReasons', ], ], ], 'PartialMatches' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartialMatch', ], ], 'Policy' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'SecurityServicePolicyData', 'ResourceType', 'ExcludeResourceTags', 'RemediationEnabled', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'PolicyUpdateToken' => [ 'shape' => 'PolicyUpdateToken', ], 'SecurityServicePolicyData' => [ 'shape' => 'SecurityServicePolicyData', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceTypeList' => [ 'shape' => 'ResourceTypeList', ], 'ResourceTags' => [ 'shape' => 'ResourceTags', ], 'ExcludeResourceTags' => [ 'shape' => 'Boolean', ], 'RemediationEnabled' => [ 'shape' => 'Boolean', ], 'IncludeMap' => [ 'shape' => 'CustomerPolicyScopeMap', ], 'ExcludeMap' => [ 'shape' => 'CustomerPolicyScopeMap', ], ], ], 'PolicyComplianceDetail' => [ 'type' => 'structure', 'members' => [ 'PolicyOwner' => [ 'shape' => 'AWSAccountId', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'Violators' => [ 'shape' => 'ComplianceViolators', ], 'EvaluationLimitExceeded' => [ 'shape' => 'Boolean', ], 'ExpiredAt' => [ 'shape' => 'TimeStamp', ], 'IssueInfoMap' => [ 'shape' => 'IssueInfoMap', ], ], ], 'PolicyComplianceStatus' => [ 'type' => 'structure', 'members' => [ 'PolicyOwner' => [ 'shape' => 'AWSAccountId', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'LastUpdated' => [ 'shape' => 'TimeStamp', ], 'IssueInfoMap' => [ 'shape' => 'IssueInfoMap', ], ], ], 'PolicyComplianceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyComplianceStatus', ], ], 'PolicyComplianceStatusType' => [ 'type' => 'string', 'enum' => [ 'COMPLIANT', 'NON_COMPLIANT', ], ], 'PolicyId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[a-z0-9A-Z-]{36}$', ], 'PolicySummary' => [ 'type' => 'structure', 'members' => [ 'PolicyArn' => [ 'shape' => 'ResourceArn', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'SecurityServiceType' => [ 'shape' => 'SecurityServiceType', ], 'RemediationEnabled' => [ 'shape' => 'Boolean', ], ], ], 'PolicySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicySummary', ], ], 'PolicyUpdateToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'PreviousAppsList' => [ 'type' => 'map', 'key' => [ 'shape' => 'PreviousListVersion', ], 'value' => [ 'shape' => 'AppsList', ], ], 'PreviousListVersion' => [ 'type' => 'string', 'max' => 2, 'min' => 1, 'pattern' => '^\\d{1,2}$', ], 'PreviousProtocolsList' => [ 'type' => 'map', 'key' => [ 'shape' => 'PreviousListVersion', ], 'value' => [ 'shape' => 'ProtocolsList', ], ], 'ProtectionData' => [ 'type' => 'string', ], 'Protocol' => [ 'type' => 'string', 'max' => 20, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Protocol', ], ], 'ProtocolsListData' => [ 'type' => 'structure', 'required' => [ 'ListName', 'ProtocolsList', ], 'members' => [ 'ListId' => [ 'shape' => 'ListId', ], 'ListName' => [ 'shape' => 'ResourceName', ], 'ListUpdateToken' => [ 'shape' => 'UpdateToken', ], 'CreateTime' => [ 'shape' => 'TimeStamp', ], 'LastUpdateTime' => [ 'shape' => 'TimeStamp', ], 'ProtocolsList' => [ 'shape' => 'ProtocolsList', ], 'PreviousProtocolsList' => [ 'shape' => 'PreviousProtocolsList', ], ], ], 'ProtocolsListDataSummary' => [ 'type' => 'structure', 'members' => [ 'ListArn' => [ 'shape' => 'ResourceArn', ], 'ListId' => [ 'shape' => 'ListId', ], 'ListName' => [ 'shape' => 'ResourceName', ], 'ProtocolsList' => [ 'shape' => 'ProtocolsList', ], ], ], 'ProtocolsListsData' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProtocolsListDataSummary', ], ], 'PutAppsListRequest' => [ 'type' => 'structure', 'required' => [ 'AppsList', ], 'members' => [ 'AppsList' => [ 'shape' => 'AppsListData', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'PutAppsListResponse' => [ 'type' => 'structure', 'members' => [ 'AppsList' => [ 'shape' => 'AppsListData', ], 'AppsListArn' => [ 'shape' => 'ResourceArn', ], ], ], 'PutNotificationChannelRequest' => [ 'type' => 'structure', 'required' => [ 'SnsTopicArn', 'SnsRoleName', ], 'members' => [ 'SnsTopicArn' => [ 'shape' => 'ResourceArn', ], 'SnsRoleName' => [ 'shape' => 'ResourceArn', ], ], ], 'PutPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Policy', ], 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'PutPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], 'PolicyArn' => [ 'shape' => 'ResourceArn', ], ], ], 'PutProtocolsListRequest' => [ 'type' => 'structure', 'required' => [ 'ProtocolsList', ], 'members' => [ 'ProtocolsList' => [ 'shape' => 'ProtocolsListData', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'PutProtocolsListResponse' => [ 'type' => 'structure', 'members' => [ 'ProtocolsList' => [ 'shape' => 'ProtocolsListData', ], 'ProtocolsListArn' => [ 'shape' => 'ResourceArn', ], ], ], 'ReferenceRule' => [ 'type' => 'string', ], 'RemediationActionDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, 'pattern' => '.*', ], 'RemediationActionType' => [ 'type' => 'string', 'enum' => [ 'REMOVE', 'MODIFY', ], ], 'ResourceArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceCount' => [ 'type' => 'long', 'min' => 0, ], 'ResourceId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceId', ], ], 'ResourceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceTag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ResourceTagKey', ], 'Value' => [ 'shape' => 'ResourceTagValue', ], ], ], 'ResourceTagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceTagValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTag', ], 'max' => 8, 'min' => 0, ], 'ResourceType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'ResourceViolation' => [ 'type' => 'structure', 'members' => [ 'AwsVPCSecurityGroupViolation' => [ 'shape' => 'AwsVPCSecurityGroupViolation', ], 'AwsEc2NetworkInterfaceViolation' => [ 'shape' => 'AwsEc2NetworkInterfaceViolation', ], 'AwsEc2InstanceViolation' => [ 'shape' => 'AwsEc2InstanceViolation', ], 'NetworkFirewallMissingFirewallViolation' => [ 'shape' => 'NetworkFirewallMissingFirewallViolation', ], 'NetworkFirewallMissingSubnetViolation' => [ 'shape' => 'NetworkFirewallMissingSubnetViolation', ], 'NetworkFirewallMissingExpectedRTViolation' => [ 'shape' => 'NetworkFirewallMissingExpectedRTViolation', ], 'NetworkFirewallPolicyModifiedViolation' => [ 'shape' => 'NetworkFirewallPolicyModifiedViolation', ], ], ], 'ResourceViolations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceViolation', ], ], 'SecurityGroupRemediationAction' => [ 'type' => 'structure', 'members' => [ 'RemediationActionType' => [ 'shape' => 'RemediationActionType', ], 'Description' => [ 'shape' => 'RemediationActionDescription', ], 'RemediationResult' => [ 'shape' => 'SecurityGroupRuleDescription', ], 'IsDefaultAction' => [ 'shape' => 'Boolean', ], ], ], 'SecurityGroupRemediationActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupRemediationAction', ], ], 'SecurityGroupRuleDescription' => [ 'type' => 'structure', 'members' => [ 'IPV4Range' => [ 'shape' => 'CIDR', ], 'IPV6Range' => [ 'shape' => 'CIDR', ], 'PrefixListId' => [ 'shape' => 'ResourceId', ], 'Protocol' => [ 'shape' => 'LengthBoundedString', ], 'FromPort' => [ 'shape' => 'IPPortNumber', ], 'ToPort' => [ 'shape' => 'IPPortNumber', ], ], ], 'SecurityServicePolicyData' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'SecurityServiceType', ], 'ManagedServiceData' => [ 'shape' => 'ManagedServiceData', ], ], ], 'SecurityServiceType' => [ 'type' => 'string', 'enum' => [ 'WAF', 'WAFV2', 'SHIELD_ADVANCED', 'SECURITY_GROUPS_COMMON', 'SECURITY_GROUPS_CONTENT_AUDIT', 'SECURITY_GROUPS_USAGE_AUDIT', 'NETWORK_FIREWALL', ], ], 'StatefulRuleGroup' => [ 'type' => 'structure', 'members' => [ 'RuleGroupName' => [ 'shape' => 'NetworkFirewallResourceName', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], ], ], 'StatefulRuleGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StatefulRuleGroup', ], ], 'StatelessRuleGroup' => [ 'type' => 'structure', 'members' => [ 'RuleGroupName' => [ 'shape' => 'NetworkFirewallResourceName', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Priority' => [ 'shape' => 'StatelessRuleGroupPriority', ], ], ], 'StatelessRuleGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StatelessRuleGroup', ], ], 'StatelessRuleGroupPriority' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 200, 'min' => 0, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 200, 'min' => 0, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagList', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TargetViolationReason' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '\\w+', ], 'TargetViolationReasons' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetViolationReason', ], ], 'TimeStamp' => [ 'type' => 'timestamp', ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ViolationDetail' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'MemberAccount', 'ResourceId', 'ResourceType', 'ResourceViolations', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceViolations' => [ 'shape' => 'ResourceViolations', ], 'ResourceTags' => [ 'shape' => 'TagList', ], 'ResourceDescription' => [ 'shape' => 'LengthBoundedString', ], ], ], 'ViolationReason' => [ 'type' => 'string', 'enum' => [ 'WEB_ACL_MISSING_RULE_GROUP', 'RESOURCE_MISSING_WEB_ACL', 'RESOURCE_INCORRECT_WEB_ACL', 'RESOURCE_MISSING_SHIELD_PROTECTION', 'RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION', 'RESOURCE_MISSING_SECURITY_GROUP', 'RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP', 'SECURITY_GROUP_UNUSED', 'SECURITY_GROUP_REDUNDANT', 'MISSING_FIREWALL', 'MISSING_FIREWALL_SUBNET_IN_AZ', 'MISSING_EXPECTED_ROUTE_TABLE', 'NETWORK_FIREWALL_POLICY_MODIFIED', ], ], 'ViolationTarget' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, 'pattern' => '.*', ], ],];