ECS / Client / put_account_setting

put_account_setting#

ECS.Client.put_account_setting(**kwargs)#

Modifies an account setting. Account settings are set on a per-Region basis.

If you change the root user account setting, the default settings are reset for users and roles that do not have specified individual account settings. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

See also: AWS API Documentation

Request Syntax

response = client.put_account_setting(
    name='serviceLongArnFormat'|'taskLongArnFormat'|'containerInstanceLongArnFormat'|'awsvpcTrunking'|'containerInsights'|'fargateFIPSMode'|'tagResourceAuthorization'|'fargateTaskRetirementWaitPeriod'|'guardDutyActivate',
    value='string',
    principalArn='string'
)
Parameters:
  • name (string) –

    [REQUIRED]

    The Amazon ECS account setting name to modify.

    The following are the valid values for the account setting name.

    • serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

    • taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

    • containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

    • awsvpcTrunking - When modified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

    • containerInsights - When modified, the default setting indicating whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If containerInsights is turned on, any new clusters that are created will have Container Insights turned on unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

    • dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks using the awsvpc network mode can have an IPv6 address assigned. For more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks launched on Fargate, see Using a VPC in dual-stack mode.

    • fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS 140 compliance is affected.

    • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

    • tagResourceAuthorization - Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

    • guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

  • value (string) –

    [REQUIRED]

    The account setting value for the specified principal ARN. Accepted values are enabled, disabled, on, and off.

    When you specify fargateTaskRetirementWaitPeriod for the name, the following are the valid values:

    • 0 - Amazon Web Services sends the notification, and immediately retires the affected tasks.

    • 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.

    • 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.

  • principalArn (string) –

    The ARN of the principal, which can be a user, role, or the root user. If you specify the root user, it modifies the account setting for all users, roles, and the root user of the account unless a user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

    Note

    You must use the root user when you set the Fargate wait time ( fargateTaskRetirementWaitPeriod).

    Federated users assume the account setting of the root user and can’t have explicit account settings set for them.

Return type:

dict

Returns:

Response Syntax

{
    'setting': {
        'name': 'serviceLongArnFormat'|'taskLongArnFormat'|'containerInstanceLongArnFormat'|'awsvpcTrunking'|'containerInsights'|'fargateFIPSMode'|'tagResourceAuthorization'|'fargateTaskRetirementWaitPeriod'|'guardDutyActivate',
        'value': 'string',
        'principalArn': 'string',
        'type': 'user'|'aws_managed'
    }
}

Response Structure

  • (dict) –

    • setting (dict) –

      The current account setting for a resource.

      • name (string) –

        The Amazon ECS resource name.

      • value (string) –

        Determines whether the account setting is on or off for the specified resource.

      • principalArn (string) –

        The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the authenticated user is assumed.

      • type (string) –

        Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

        aws_managed account settings are read-only, as Amazon Web Services manages such on the customer’s behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web Services manages.

Exceptions

  • ECS.Client.exceptions.ServerException

  • ECS.Client.exceptions.ClientException

  • ECS.Client.exceptions.InvalidParameterException

Examples

This example modifies your account settings to opt in to the new ARN and resource ID format for Amazon ECS services. If you’re using this command as the root user, then changes apply to the entire AWS account, unless an IAM user or role explicitly overrides these settings for themselves.

response = client.put_account_setting(
    name='serviceLongArnFormat',
    value='enabled',
)

print(response)

Expected Output:

{
    'setting': {
        'name': 'serviceLongArnFormat',
        'value': 'enabled',
        'principalArn': 'arn:aws:iam::<aws_account_id>:user/principalName',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}

This example modifies the account setting for a specific IAM user or IAM role to opt in to the new ARN and resource ID format for Amazon ECS container instances. If you’re using this command as the root user, then changes apply to the entire AWS account, unless an IAM user or role explicitly overrides these settings for themselves.

response = client.put_account_setting(
    name='containerInstanceLongArnFormat',
    value='enabled',
    principalArn='arn:aws:iam::<aws_account_id>:user/principalName',
)

print(response)

Expected Output:

{
    'setting': {
        'name': 'containerInstanceLongArnFormat',
        'value': 'enabled',
        'principalArn': 'arn:aws:iam::<aws_account_id>:user/principalName',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}