putAccountSetting method
- required SettingName name,
- required String value,
- String? principalArn,
Modifies an account setting. Account settings are set on a per-Region basis.
If you change the account setting for the root user, the default settings for all of the IAM users and roles for which no individual account setting has been specified are reset. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.
When serviceLongArnFormat
, taskLongArnFormat
, or
containerInstanceLongArnFormat
are specified, the Amazon
Resource Name (ARN) and resource ID format of the resource type for a
specified IAM user, IAM 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 will be
defined by the opt-in status of the IAM user or role that created the
resource. You must enable this setting to use Amazon ECS features such as
resource tagging.
When awsvpcTrunking
is specified, the elastic network
interface (ENI) limit for any new container instances that support the
feature is changed. If awsvpcTrunking
is enabled, 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.
When containerInsights
is specified, the default setting
indicating whether CloudWatch Container Insights is enabled for your
clusters is changed. If containerInsights
is enabled, any new
clusters that are created will have Container Insights enabled unless you
disable it during cluster creation. For more information, see CloudWatch
Container Insights in the Amazon Elastic Container Service
Developer Guide.
May throw ServerException. May throw ClientException. May throw InvalidParameterException.
Parameter name
:
The Amazon ECS resource name for which to modify the account setting. If
serviceLongArnFormat
is specified, the ARN for your Amazon
ECS services is affected. If taskLongArnFormat
is specified,
the ARN and resource ID for your Amazon ECS tasks is affected. If
containerInstanceLongArnFormat
is specified, the ARN and
resource ID for your Amazon ECS container instances is affected. If
awsvpcTrunking
is specified, the elastic network interface
(ENI) limit for your Amazon ECS container instances is affected. If
containerInsights
is specified, the default setting for
CloudWatch Container Insights for your clusters is affected.
Parameter value
:
The account setting value for the specified principal ARN. Accepted values
are enabled
and disabled
.
Parameter principalArn
:
The ARN of the principal, which can be an IAM user, IAM role, or the root
user. If you specify the root user, it modifies the account setting for
all IAM users, IAM roles, and the root user of the account unless an IAM
user or role explicitly overrides these settings. If this field is
omitted, the setting is changed only for the authenticated user.
Implementation
Future<PutAccountSettingResponse> putAccountSetting({
required SettingName name,
required String value,
String? principalArn,
}) async {
ArgumentError.checkNotNull(name, 'name');
ArgumentError.checkNotNull(value, 'value');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonEC2ContainerServiceV20141113.PutAccountSetting'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'name': name.toValue(),
'value': value,
if (principalArn != null) 'principalArn': principalArn,
},
);
return PutAccountSettingResponse.fromJson(jsonResponse.body);
}