// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutAccountSetting`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(SettingName)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::name) / [`set_name(Option<SettingName>)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::set_name):<br>required: **true**<br><p>The Amazon ECS resource name for which to modify the account setting. If you specify <code>serviceLongArnFormat</code>, the ARN for your Amazon ECS services is affected. If you specify <code>taskLongArnFormat</code>, the ARN and resource ID for your Amazon ECS tasks is affected. If you specify <code>containerInstanceLongArnFormat</code>, the ARN and resource ID for your Amazon ECS container instances is affected. If you specify <code>awsvpcTrunking</code>, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If you specify <code>containerInsights</code>, the default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If you specify <code>fargateFIPSMode</code>, Fargate FIPS 140 compliance is affected. If you specify <code>tagResourceAuthorization</code>, the opt-in option for tagging resources on creation is affected. For information about the opt-in timeline, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging authorization timeline</a> in the <i>Amazon ECS Developer Guide</i>. If you specify <code>fargateTaskRetirementWaitPeriod</code>, the wait time to retire a Fargate task is affected.</p><br>
/// - [`value(impl Into<String>)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::value) / [`set_value(Option<String>)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::set_value):<br>required: **true**<br><p>The account setting value for the specified principal ARN. Accepted values are <code>enabled</code>, <code>disabled</code>, <code>on</code>, and <code>off</code>.</p> <p>When you specify <code>fargateTaskRetirementWaitPeriod</code> for the <code>name</code>, the following are the valid values:</p> <ul> <li> <p> <code>0</code> - Amazon Web Services sends the notification, and immediately retires the affected tasks.</p> </li> <li> <p> <code>7</code> - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.</p> </li> <li> <p> <code>14</code> - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.</p> </li> </ul><br>
/// - [`principal_arn(impl Into<String>)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::principal_arn) / [`set_principal_arn(Option<String>)`](crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::set_principal_arn):<br>required: **false**<br><p>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.</p> <note> <p>You must use the root user when you set the Fargate wait time (<code>fargateTaskRetirementWaitPeriod</code>). </p> <p>Federated users assume the account setting of the root user and can't have explicit account settings set for them.</p> </note><br>
/// - On success, responds with [`PutAccountSettingOutput`](crate::operation::put_account_setting::PutAccountSettingOutput) with field(s):
/// - [`setting(Option<Setting>)`](crate::operation::put_account_setting::PutAccountSettingOutput::setting): <p>The current account setting for a resource.</p>
/// - On failure, responds with [`SdkError<PutAccountSettingError>`](crate::operation::put_account_setting::PutAccountSettingError)
pub fn put_account_setting(&self) -> crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder {
crate::operation::put_account_setting::builders::PutAccountSettingFluentBuilder::new(self.handle.clone())
}
}