From 4543ceb9adb0467fd939893a74176a1a885dd2ff Mon Sep 17 00:00:00 2001 From: Jonas Neubert Date: Fri, 16 Sep 2022 11:24:24 -0600 Subject: [PATCH 1/3] aws_is_virtual_hostable_bucket endpoint provider standard library function (#2762) * enpoints provider stdlib: is_virtual_hostable_s3_bucket * test data files for is_virtual_hostable_s3_bucket * exclude endpoint provider unit test data from linting * Refactor conditionals in aws_is_virtual_hostable_s3_bucket Co-authored-by: Nate Prewitt Co-authored-by: Nate Prewitt --- .pre-commit-config.yaml | 1 + botocore/endpoint_provider.py | 33 ++++- .../is-virtual-hostable-s3-bucket.json | 121 ++++++++++++++++++ .../is-virtual-hostable-s3-bucket.json | 48 +++++++ tests/unit/test_endpoints_v2.py | 1 + 5 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 tests/unit/data/endpoints/test-cases/is-virtual-hostable-s3-bucket.json create mode 100644 tests/unit/data/endpoints/valid-rules/is-virtual-hostable-s3-bucket.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d0894355e8..521a14760c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,6 +7,7 @@ exclude: "\ botocore/compat.py|\ docs/|\ tests/unit/auth/aws4_testsuite|\ + tests/unit/data/endpoints/|\ tests/unit/response_parsing/xml|\ CHANGELOG.rst\ )" diff --git a/botocore/endpoint_provider.py b/botocore/endpoint_provider.py index 750b4d45b4..a7042001fb 100644 --- a/botocore/endpoint_provider.py +++ b/botocore/endpoint_provider.py @@ -29,7 +29,7 @@ from typing import NamedTuple from botocore import xform_name -from botocore.compat import quote, urlparse +from botocore.compat import IPV4_RE, quote, urlparse from botocore.exceptions import EndpointResolutionError from botocore.utils import ( ArnParser, @@ -377,6 +377,37 @@ def _not(self, value): """ return not value + def aws_is_virtual_hostable_s3_bucket(self, value, allow_subdomains): + """Evaluates whether a value is a valid bucket name for virtual host + style bucket URLs. To pass, the value must meet the following criteria: + 1. is_valid_host_label(value) is True + 2. length between 3 and 63 characters (inclusive) + 3. does not contain uppercase characters + 4. is not formatted as an IP address + + If allow_subdomains is True, split on `.` and validate + each component separately. + + :type value: str + :type allow_subdomains: bool + :rtype: bool + """ + if ( + value is None + or len(value) < 3 + or value.lower() != value + or IPV4_RE.match(value) is not None + ): + return False + + if allow_subdomains is True: + return all( + self.aws_is_virtual_hostable_s3_bucket(label, False) + for label in value.split(".") + ) + + return self.is_valid_host_label(value, allow_subdomains=False) + class BaseRule: """Base interface for individual endpoint rules.""" diff --git a/tests/unit/data/endpoints/test-cases/is-virtual-hostable-s3-bucket.json b/tests/unit/data/endpoints/test-cases/is-virtual-hostable-s3-bucket.json new file mode 100644 index 0000000000..9641304ace --- /dev/null +++ b/tests/unit/data/endpoints/test-cases/is-virtual-hostable-s3-bucket.json @@ -0,0 +1,121 @@ +{ + "version": "1.0", + "testCases": [ + { + "documentation": "bucket-name: isVirtualHostable", + "params": { + "BucketName": "bucket-name" + }, + "expect": { + "endpoint": { + "url": "https://bucket-name.s3.amazonaws.com" + } + } + }, + { + "documentation": "bucket-with-number-1: isVirtualHostable", + "params": { + "BucketName": "bucket-with-number-1" + }, + "expect": { + "endpoint": { + "url": "https://bucket-with-number-1.s3.amazonaws.com" + } + } + }, + { + "documentation": "BucketName: not isVirtualHostable (uppercase characters)", + "params": { + "BucketName": "BucketName" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "bucket_name: not isVirtualHostable (underscore)", + "params": { + "BucketName": "bucket_name" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "bucket.name: isVirtualHostable (http only)", + "params": { + "BucketName": "bucket.name" + }, + "expect": { + "endpoint": { + "url": "http://bucket.name.s3.amazonaws.com" + } + } + }, + { + "documentation": "bucket.name.multiple.dots1: isVirtualHostable (http only)", + "params": { + "BucketName": "bucket.name.multiple.dots1" + }, + "expect": { + "endpoint": { + "url": "http://bucket.name.multiple.dots1.s3.amazonaws.com" + } + } + }, + { + "documentation": "-bucket-name: not isVirtualHostable (leading dash)", + "params": { + "BucketName": "-bucket-name" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "bucket-name-: not isVirtualHostable (trailing dash)", + "params": { + "BucketName": "bucket-name-" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "aa: not isVirtualHostable (< 3 characters)", + "params": { + "BucketName": "aa" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "'a'*64: not isVirtualHostable (> 63 characters)", + "params": { + "BucketName": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": ".bucket-name: not isVirtualHostable (leading dot)", + "params": { + "BucketName": ".bucket-name" + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + }, + { + "documentation": "bucket-name.: not isVirtualHostable (trailing dot)", + "params": { + "BucketName": "bucket-name." + }, + "expect": { + "error": "not isVirtualHostableS3Bucket" + } + } + ] +} \ No newline at end of file diff --git a/tests/unit/data/endpoints/valid-rules/is-virtual-hostable-s3-bucket.json b/tests/unit/data/endpoints/valid-rules/is-virtual-hostable-s3-bucket.json new file mode 100644 index 0000000000..7ece9b5342 --- /dev/null +++ b/tests/unit/data/endpoints/valid-rules/is-virtual-hostable-s3-bucket.json @@ -0,0 +1,48 @@ +{ + "version": "1.3", + "parameters": { + "BucketName": { + "type": "string", + "required": true, + "documentation": "the input used to test isVirtualHostableS3Bucket" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + "{BucketName}", + false + ] + } + ], + "endpoint": { + "url": "https://{BucketName}.s3.amazonaws.com" + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + "{BucketName}", + true + ] + } + ], + "endpoint": { + "url": "http://{BucketName}.s3.amazonaws.com" + }, + "type": "endpoint" + }, + { + "conditions": [ + ], + "error": "not isVirtualHostableS3Bucket", + "type": "error" + } + ] +} diff --git a/tests/unit/test_endpoints_v2.py b/tests/unit/test_endpoints_v2.py index a71e60082d..4b5bd8b8b8 100644 --- a/tests/unit/test_endpoints_v2.py +++ b/tests/unit/test_endpoints_v2.py @@ -135,6 +135,7 @@ def ruleset_testcases(): "eventbridge", "fns", "headers", + "is-virtual-hostable-s3-bucket", "local-region-override", "parse-arn", "parse-url", From 4aeaa8eb3b6e7c43bf6aee79b37d04ba6e03c522 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 16 Sep 2022 18:09:28 +0000 Subject: [PATCH 2/3] Update to latest models --- ...pi-change-codestarnotifications-69148.json | 5 + .../next-release/api-change-ecs-43493.json | 5 + .../2019-10-15/service-2.json | 92 +++++++++++-------- botocore/data/ecs/2014-11-13/service-2.json | 22 ++--- 4 files changed, 74 insertions(+), 50 deletions(-) create mode 100644 .changes/next-release/api-change-codestarnotifications-69148.json create mode 100644 .changes/next-release/api-change-ecs-43493.json diff --git a/.changes/next-release/api-change-codestarnotifications-69148.json b/.changes/next-release/api-change-codestarnotifications-69148.json new file mode 100644 index 0000000000..164330c14a --- /dev/null +++ b/.changes/next-release/api-change-codestarnotifications-69148.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``codestar-notifications``", + "description": "This release adds tag based access control for the UntagResource API." +} diff --git a/.changes/next-release/api-change-ecs-43493.json b/.changes/next-release/api-change-ecs-43493.json new file mode 100644 index 0000000000..b3818c0d9a --- /dev/null +++ b/.changes/next-release/api-change-ecs-43493.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``ecs``", + "description": "This release supports new task definition sizes." +} diff --git a/botocore/data/codestar-notifications/2019-10-15/service-2.json b/botocore/data/codestar-notifications/2019-10-15/service-2.json index df94d9bcdc..3e65e08aed 100644 --- a/botocore/data/codestar-notifications/2019-10-15/service-2.json +++ b/botocore/data/codestar-notifications/2019-10-15/service-2.json @@ -28,7 +28,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Creates a notification rule for a resource. The rule specifies the events you want notifications about and the targets (such as SNS topics) where you want to receive them.

" + "documentation":"

Creates a notification rule for a resource. The rule specifies the events you want notifications about and the targets (such as Chatbot topics or Chatbot clients configured for Slack) where you want to receive them.

" }, "DeleteNotificationRule":{ "name":"DeleteNotificationRule", @@ -98,7 +98,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ], - "documentation":"

Returns a list of the notification rules for an AWS account.

" + "documentation":"

Returns a list of the notification rules for an Amazon Web Services account.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -126,7 +126,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ], - "documentation":"

Returns a list of the notification rule targets for an AWS account.

" + "documentation":"

Returns a list of the notification rule targets for an Amazon Web Services account.

" }, "Subscribe":{ "name":"Subscribe", @@ -138,9 +138,10 @@ "output":{"shape":"SubscribeResult"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConfigurationException"} ], - "documentation":"

Creates an association between a notification rule and an SNS topic so that the associated target can receive notifications when the events described in the rule are triggered.

" + "documentation":"

Creates an association between a notification rule and an Chatbot topic or Chatbot client so that the associated target can receive notifications when the events described in the rule are triggered.

" }, "TagResource":{ "name":"TagResource", @@ -152,6 +153,7 @@ "output":{"shape":"TagResourceResult"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"ValidationException"}, {"shape":"ConcurrentModificationException"} ], @@ -168,18 +170,19 @@ "errors":[ {"shape":"ValidationException"} ], - "documentation":"

Removes an association between a notification rule and an Amazon SNS topic so that subscribers to that topic stop receiving notifications when the events described in the rule are triggered.

" + "documentation":"

Removes an association between a notification rule and an Chatbot topic so that subscribers to that topic stop receiving notifications when the events described in the rule are triggered.

" }, "UntagResource":{ "name":"UntagResource", "http":{ "method":"POST", - "requestUri":"/untagResource" + "requestUri":"/untagResource/{resourceArn}" }, "input":{"shape":"UntagResourceRequest"}, "output":{"shape":"UntagResourceResult"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"ValidationException"}, {"shape":"ConcurrentModificationException"} ], @@ -195,7 +198,8 @@ "output":{"shape":"UpdateNotificationRuleResult"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConfigurationException"} ], "documentation":"

Updates a notification rule for a resource. You can change the events that trigger the notification rule, the status of the rule, and the targets that receive the notifications.

To add or remove tags for a notification rule, you must use TagResource and UntagResource.

" } @@ -246,7 +250,7 @@ "members":{ "Name":{ "shape":"NotificationRuleName", - "documentation":"

The name for the notification rule. Notifictaion rule names must be unique in your AWS account.

" + "documentation":"

The name for the notification rule. Notification rule names must be unique in your Amazon Web Services account.

" }, "EventTypeIds":{ "shape":"EventTypeIds", @@ -254,28 +258,28 @@ }, "Resource":{ "shape":"NotificationRuleResource", - "documentation":"

The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline, repositories in AWS CodeCommit, and build projects in AWS CodeBuild.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in CodePipeline, repositories in CodeCommit, and build projects in CodeBuild.

" }, "Targets":{ "shape":"Targets", - "documentation":"

A list of Amazon Resource Names (ARNs) of SNS topics to associate with the notification rule.

" + "documentation":"

A list of Amazon Resource Names (ARNs) of Amazon Simple Notification Service topics and Chatbot clients to associate with the notification rule.

" }, "DetailType":{ "shape":"DetailType", - "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" }, "ClientRequestToken":{ "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a token is included, the request returns information about the initial request that used that token.

The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, an idempotency token is created for you.

", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a token is included, the request returns information about the initial request that used that token.

The Amazon Web Services SDKs prepopulate client request tokens. If you are using an Amazon Web Services SDK, an idempotency token is created for you.

", "idempotencyToken":true }, "Tags":{ "shape":"Tags", - "documentation":"

A list of tags to apply to this notification rule. Key names cannot start with \"aws\".

" + "documentation":"

A list of tags to apply to this notification rule. Key names cannot start with \"aws\".

" }, "Status":{ "shape":"NotificationRuleStatus", - "documentation":"

The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule.

" + "documentation":"

The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule.

" } } }, @@ -314,11 +318,11 @@ "members":{ "TargetAddress":{ "shape":"TargetAddress", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic to delete.

" + "documentation":"

The Amazon Resource Name (ARN) of the Chatbot topic or Chatbot client to delete.

" }, "ForceUnsubscribeAll":{ "shape":"ForceUnsubscribeAll", - "documentation":"

A Boolean value that can be used to delete all associations with this SNS topic. The default value is FALSE. If set to TRUE, all associations between that target and every notification rule in your AWS account are deleted.

" + "documentation":"

A Boolean value that can be used to delete all associations with this Chatbot topic. The default value is FALSE. If set to TRUE, all associations between that target and every notification rule in your Amazon Web Services account are deleted.

" } } }, @@ -359,11 +363,11 @@ }, "Targets":{ "shape":"TargetsBatch", - "documentation":"

A list of the SNS topics associated with the notification rule.

" + "documentation":"

A list of the Chatbot topics and Chatbot clients associated with the notification rule.

" }, "DetailType":{ "shape":"DetailType", - "documentation":"

The level of detail included in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + "documentation":"

The level of detail included in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" }, "CreatedBy":{ "shape":"NotificationRuleCreatedBy", @@ -413,7 +417,7 @@ "members":{ "EventTypeId":{ "shape":"EventTypeId", - "documentation":"

The system-generated ID of the event.

" + "documentation":"

The system-generated ID of the event. For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide.

" }, "ServiceName":{ "shape":"ServiceName", @@ -524,7 +528,7 @@ }, "Value":{ "shape":"ListNotificationRulesFilterValue", - "documentation":"

The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE in Name, you might specify the ARN of a pipeline in AWS CodePipeline for the value.

" + "documentation":"

The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE in Name, you might specify the ARN of a pipeline in CodePipeline for the value.

" } }, "documentation":"

Information about a filter to apply to the list of returned notification rules. You can filter by event type, owner, resource, or target.

" @@ -538,7 +542,10 @@ "TARGET_ADDRESS" ] }, - "ListNotificationRulesFilterValue":{"type":"string"}, + "ListNotificationRulesFilterValue":{ + "type":"string", + "max":2048 + }, "ListNotificationRulesFilters":{ "type":"list", "member":{"shape":"ListNotificationRulesFilter"} @@ -570,7 +577,7 @@ }, "NotificationRules":{ "shape":"NotificationRuleBatch", - "documentation":"

The list of notification rules for the AWS account, by Amazon Resource Name (ARN) and ID.

" + "documentation":"

The list of notification rules for the Amazon Web Services account, by Amazon Resource Name (ARN) and ID.

" } } }, @@ -606,10 +613,10 @@ }, "Value":{ "shape":"ListTargetsFilterValue", - "documentation":"

The value of the attribute you want to use to filter the returned targets. For example, if you specify SNS for the Target type, you could specify an Amazon Resource Name (ARN) for a topic as the value.

" + "documentation":"

The value of the attribute you want to use to filter the returned targets. For example, if you specify SNS for the Target type, you could specify an Amazon Resource Name (ARN) for a topic as the value.

" } }, - "documentation":"

Information about a filter to apply to the list of returned targets. You can filter by target type, address, or status. For example, to filter results to notification rules that have active Amazon SNS topics as targets, you could specify a ListTargetsFilter Name as TargetType and a Value of SNS, and a Name of TARGET_STATUS and a Value of ACTIVE.

" + "documentation":"

Information about a filter to apply to the list of returned targets. You can filter by target type, address, or status. For example, to filter results to notification rules that have active Chatbot topics as targets, you could specify a ListTargetsFilter Name as TargetType and a Value of SNS, and a Name of TARGET_STATUS and a Value of ACTIVE.

" }, "ListTargetsFilterName":{ "type":"string", @@ -619,7 +626,10 @@ "TARGET_STATUS" ] }, - "ListTargetsFilterValue":{"type":"string"}, + "ListTargetsFilterValue":{ + "type":"string", + "max":2048 + }, "ListTargetsFilters":{ "type":"list", "member":{"shape":"ListTargetsFilter"} @@ -722,7 +732,7 @@ "members":{ "Message":{"shape":"Message"} }, - "documentation":"

A resource with the same name or ID already exists. Notification rule names must be unique in your AWS account.

", + "documentation":"

A resource with the same name or ID already exists. Notification rule names must be unique in your Amazon Web Services account.

", "error":{"httpStatusCode":409}, "exception":true }, @@ -791,7 +801,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The list of tags to associate with the resource. Tag key names cannot start with \"aws\".

" + "documentation":"

The list of tags to associate with the resource. Tag key names cannot start with \"aws\".

" } } }, @@ -819,14 +829,14 @@ "members":{ "TargetType":{ "shape":"TargetType", - "documentation":"

The target type. Can be an Amazon SNS topic.

" + "documentation":"

The target type. Can be an Chatbot topic or Chatbot client.

  • Chatbot topics are specified as SNS.

  • Chatbot clients are specified as AWSChatbotSlack.

" }, "TargetAddress":{ "shape":"TargetAddress", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic.

" + "documentation":"

The Amazon Resource Name (ARN) of the Chatbot topic or Chatbot client.

" } }, - "documentation":"

Information about the SNS topics associated with a notification rule.

" + "documentation":"

Information about the Chatbot topics or Chatbot clients associated with a notification rule.

" }, "TargetAddress":{ "type":"string", @@ -849,11 +859,11 @@ "members":{ "TargetAddress":{ "shape":"TargetAddress", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic.

" + "documentation":"

The Amazon Resource Name (ARN) of the Chatbot topic or Chatbot client.

" }, "TargetType":{ "shape":"TargetType", - "documentation":"

The type of the target (for example, SNS).

" + "documentation":"

The type of the target (for example, SNS).

  • Chatbot topics are specified as SNS.

  • Chatbot clients are specified as AWSChatbotSlack.

" }, "TargetStatus":{ "shape":"TargetStatus", @@ -888,7 +898,7 @@ }, "TargetAddress":{ "shape":"TargetAddress", - "documentation":"

The ARN of the SNS topic to unsubscribe from the notification rule.

" + "documentation":"

The ARN of the Chatbot topic to unsubscribe from the notification rule.

" } } }, @@ -911,11 +921,15 @@ "members":{ "Arn":{ "shape":"NotificationRuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the notification rule from which to remove the tags.

" + "documentation":"

The Amazon Resource Name (ARN) of the notification rule from which to remove the tags.

", + "location":"uri", + "locationName":"resourceArn" }, "TagKeys":{ "shape":"TagKeys", - "documentation":"

The key names of the tags to remove.

" + "documentation":"

The key names of the tags to remove.

", + "location":"querystring", + "locationName":"tagKeys" } } }, @@ -942,7 +956,7 @@ }, "EventTypeIds":{ "shape":"EventTypeIds", - "documentation":"

A list of event types associated with this notification rule.

" + "documentation":"

A list of event types associated with this notification rule. For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide.

" }, "Targets":{ "shape":"Targets", @@ -950,7 +964,7 @@ }, "DetailType":{ "shape":"DetailType", - "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" } } }, @@ -969,5 +983,5 @@ "exception":true } }, - "documentation":"

This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API to work with the following objects:

Notification rules, by calling the following:

Targets, by calling the following:

  • DeleteTarget, which removes a notification rule target (SNS topic) from a notification rule.

  • ListTargets, which lists the targets associated with a notification rule.

Events, by calling the following:

  • ListEventTypes, which lists the event types you can include in a notification rule.

Tags, by calling the following:

  • ListTagsForResource, which lists the tags already associated with a notification rule in your account.

  • TagResource, which associates a tag you provide with a notification rule in your account.

  • UntagResource, which removes a tag from a notification rule in your account.

For information about how to use AWS CodeStar Notifications, see link in the CodeStarNotifications User Guide.

" + "documentation":"

This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API to work with the following objects:

Notification rules, by calling the following:

Targets, by calling the following:

  • DeleteTarget, which removes a notification rule target from a notification rule.

  • ListTargets, which lists the targets associated with a notification rule.

Events, by calling the following:

  • ListEventTypes, which lists the event types you can include in a notification rule.

Tags, by calling the following:

  • ListTagsForResource, which lists the tags already associated with a notification rule in your account.

  • TagResource, which associates a tag you provide with a notification rule in your account.

  • UntagResource, which removes a tag from a notification rule in your account.

For information about how to use AWS CodeStar Notifications, see the Amazon Web Services Developer Tools Console User Guide.

" } diff --git a/botocore/data/ecs/2014-11-13/service-2.json b/botocore/data/ecs/2014-11-13/service-2.json index 04949bed48..9df70205fd 100644 --- a/botocore/data/ecs/2014-11-13/service-2.json +++ b/botocore/data/ecs/2014-11-13/service-2.json @@ -63,7 +63,7 @@ {"shape":"PlatformTaskDefinitionIncompatibilityException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

  • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

  • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support the task definition of your service. For example, they have the required CPU, memory, ports, and container instance attributes.

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner. This is the case even if you can choose a different placement strategy with the placementStrategy parameter.

    • Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone based on the previous steps, favoring container instances with the fewest number of running tasks for this service.

" + "documentation":"

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

  • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

  • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide.

" }, "CreateTaskSet":{ "name":"CreateTaskSet", @@ -1442,7 +1442,7 @@ }, "memoryReservation":{ "shape":"BoxedInteger", - "documentation":"

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

If a task-level memory value is not specified, you must specify a non-zero integer for one or both of memory or memoryReservation in a container definition. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

The Docker daemon reserves a minimum of 4 MiB of memory for a container. Therefore, we recommend that you specify fewer than 4 MiB of memory for your containers.

" + "documentation":"

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

If a task-level memory value is not specified, you must specify a non-zero integer for one or both of memory or memoryReservation in a container definition. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers.

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.

" }, "links":{ "shape":"StringList", @@ -1490,7 +1490,7 @@ }, "dependsOn":{ "shape":"ContainerDependencies", - "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires the following platforms:

  • Linux platform version 1.3.0 or later.

  • Windows platform version 1.0.0 or later.

" + "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on other containers in a task definition. When a dependency is defined for container startup, for container shutdown it is reversed.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires the following platforms:

  • Linux platform version 1.3.0 or later.

  • Windows platform version 1.0.0 or later.

" }, "startTimeout":{ "shape":"BoxedInteger", @@ -3007,7 +3007,7 @@ "members":{ "command":{ "shape":"StringList", - "documentation":"

A string array representing the command that the container runs to determine if it is healthy. The string array must start with CMD to execute the command arguments directly, or CMD-SHELL to run the command with the container's default shell.

When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list of commands in brackets.

[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]

You don't need to include the brackets when you use the Amazon Web Services Management Console.

\"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\"

An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see HealthCheck in the Create a container section of the Docker Remote API.

" + "documentation":"

A string array representing the command that the container runs to determine if it is healthy. The string array must start with CMD to run the command arguments directly, or CMD-SHELL to run the command with the container's default shell.

When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list of commands in brackets.

[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]

You don't need to include the brackets when you use the Amazon Web Services Management Console.

\"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\"

An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see HealthCheck in the Create a container section of the Docker Remote API.

" }, "interval":{ "shape":"BoxedInteger", @@ -4224,11 +4224,11 @@ }, "cpu":{ "shape":"String", - "documentation":"

The number of CPU units used by the task. It can be expressed as an integer using CPU units (for example, 1024) or as a string using vCPUs (for example, 1 vCPU or 1 vcpu) in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If you're using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you're using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" + "documentation":"

The number of CPU units used by the task. It can be expressed as an integer using CPU units (for example, 1024) or as a string using vCPUs (for example, 1 vCPU or 1 vcpu) in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If you're using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). If you do not specify a value, the parameter is ignored.

If you're using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

  • 8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform 1.4.0 or later.

  • 16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    This option requires Linux platform 1.4.0 or later.

" }, "memory":{ "shape":"String", - "documentation":"

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB (for example ,1024) or as a string using GB (for example, 1GB or 1 GB) in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values. This determines your range of supported values for the cpu parameter.

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + "documentation":"

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB (for example ,1024) or as a string using GB (for example, 1GB or 1 GB) in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values. This determines your range of supported values for the cpu parameter.

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

  • Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    This option requires Linux platform 1.4.0 or later.

  • Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    This option requires Linux platform 1.4.0 or later.

" }, "tags":{ "shape":"Tags", @@ -4464,7 +4464,7 @@ "documentation":"

The operating system.

" } }, - "documentation":"

Information about the platform for the Amazon ECS service or task.

For more informataion about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Information about the platform for the Amazon ECS service or task.

For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

" }, "Scale":{ "type":"structure", @@ -5170,7 +5170,7 @@ }, "cpu":{ "shape":"String", - "documentation":"

The number of CPU units used by the task as expressed in a task definition. It can be expressed as an integer using CPU units (for example, 1024). It can also be expressed as a string using vCPUs (for example, 1 vCPU or 1 vcpu). String values are converted to an integer that indicates the CPU units when the task definition is registered.

If you use the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you use the Fargate launch type, this field is required. You must use one of the following values. These values determine the range of supported values for the memory parameter:

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" + "documentation":"

The number of CPU units used by the task as expressed in a task definition. It can be expressed as an integer using CPU units (for example, 1024). It can also be expressed as a string using vCPUs (for example, 1 vCPU or 1 vcpu). String values are converted to an integer that indicates the CPU units when the task definition is registered.

If you use the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you use the Fargate launch type, this field is required. You must use one of the following values. These values determine the range of supported values for the memory parameter:

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

  • 8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform 1.4.0 or later.

  • 16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    This option requires Linux platform 1.4.0 or later.

" }, "createdAt":{ "shape":"Timestamp", @@ -5210,7 +5210,7 @@ }, "memory":{ "shape":"String", - "documentation":"

The amount of memory (in MiB) that the task uses as expressed in a task definition. It can be expressed as an integer using MiB (for example, 1024). If it's expressed as a string using GB (for example, 1GB or 1 GB), it's converted to an integer indicating the MiB when the task definition is registered.

If you use the EC2 launch type, this field is optional.

If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines the range of supported values for the cpu parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + "documentation":"

The amount of memory (in MiB) that the task uses as expressed in a task definition. It can be expressed as an integer using MiB (for example, 1024). If it's expressed as a string using GB (for example, 1GB or 1 GB), it's converted to an integer indicating the MiB when the task definition is registered.

If you use the EC2 launch type, this field is optional.

If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines the range of supported values for the cpu parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

  • Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    This option requires Linux platform 1.4.0 or later.

  • Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    This option requires Linux platform 1.4.0 or later.

" }, "overrides":{ "shape":"TaskOverride", @@ -5340,11 +5340,11 @@ }, "cpu":{ "shape":"String", - "documentation":"

The number of cpu units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the memory parameter.

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" + "documentation":"

The number of cpu units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the memory parameter.

The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

  • 8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform 1.4.0 or later.

  • 16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    This option requires Linux platform 1.4.0 or later.

" }, "memory":{ "shape":"String", - "documentation":"

The amount (in MiB) of memory used by the task.

If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see ContainerDefinition.

If your tasks runs on Fargate, this field is required. You must use one of the following values. The value you choose determines your range of valid values for the cpu parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + "documentation":"

The amount (in MiB) of memory used by the task.

If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see ContainerDefinition.

If your tasks runs on Fargate, this field is required. You must use one of the following values. The value you choose determines your range of valid values for the cpu parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

  • Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    This option requires Linux platform 1.4.0 or later.

  • Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    This option requires Linux platform 1.4.0 or later.

" }, "inferenceAccelerators":{ "shape":"InferenceAccelerators", From 68f04a8345f282d505aa790f3bb3999dcd307ba2 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 16 Sep 2022 18:09:39 +0000 Subject: [PATCH 3/3] Bumping version to 1.27.75 --- .changes/1.27.75.json | 12 ++++++++++++ .../api-change-codestarnotifications-69148.json | 5 ----- .changes/next-release/api-change-ecs-43493.json | 5 ----- CHANGELOG.rst | 7 +++++++ botocore/__init__.py | 2 +- docs/source/conf.py | 2 +- 6 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 .changes/1.27.75.json delete mode 100644 .changes/next-release/api-change-codestarnotifications-69148.json delete mode 100644 .changes/next-release/api-change-ecs-43493.json diff --git a/.changes/1.27.75.json b/.changes/1.27.75.json new file mode 100644 index 0000000000..d58c221375 --- /dev/null +++ b/.changes/1.27.75.json @@ -0,0 +1,12 @@ +[ + { + "category": "``codestar-notifications``", + "description": "This release adds tag based access control for the UntagResource API.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release supports new task definition sizes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/next-release/api-change-codestarnotifications-69148.json b/.changes/next-release/api-change-codestarnotifications-69148.json deleted file mode 100644 index 164330c14a..0000000000 --- a/.changes/next-release/api-change-codestarnotifications-69148.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``codestar-notifications``", - "description": "This release adds tag based access control for the UntagResource API." -} diff --git a/.changes/next-release/api-change-ecs-43493.json b/.changes/next-release/api-change-ecs-43493.json deleted file mode 100644 index b3818c0d9a..0000000000 --- a/.changes/next-release/api-change-ecs-43493.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``ecs``", - "description": "This release supports new task definition sizes." -} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 26381499fd..e30adffe88 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,13 @@ CHANGELOG ========= +1.27.75 +======= + +* api-change:``codestar-notifications``: This release adds tag based access control for the UntagResource API. +* api-change:``ecs``: This release supports new task definition sizes. + + 1.27.74 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index 11b4bac9d2..ac5e982d90 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.27.74' +__version__ = '1.27.75' class NullHandler(logging.Handler): diff --git a/docs/source/conf.py b/docs/source/conf.py index dcb001fc46..5f4c95bed9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,7 +54,7 @@ # The short X.Y version. version = '1.27.' # The full version, including alpha/beta/rc tags. -release = '1.27.74' +release = '1.27.75' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.