updateServiceSetting method

Future<void> updateServiceSetting({
  1. required String settingId,
  2. required String settingValue,
})

ServiceSetting is an account-level setting for an Amazon Web Services service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services service team might create a default setting of "false". This means the user can't use this feature unless they change the setting to "true" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. Amazon Web Services services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API operation to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the Amazon Web Services service team.

Update the service setting for the account.

May throw InternalServerError. May throw ServiceSettingNotFound. May throw TooManyUpdates.

Parameter settingId : The Amazon Resource Name (ARN) of the service setting to update. For example, arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled. The setting ID can be one of the following.

  • /ssm/appmanager/appmanager-enabled
  • /ssm/automation/customer-script-log-destination
  • /ssm/automation/customer-script-log-group-name
  • /ssm/automation/enable-adaptive-concurrency
  • /ssm/documents/console/public-sharing-permission
  • /ssm/managed-instance/activation-tier
  • /ssm/managed-instance/default-ec2-instance-management-role
  • /ssm/opsinsights/opscenter
  • /ssm/parameter-store/default-parameter-tier
  • /ssm/parameter-store/high-throughput-enabled

Parameter settingValue : The new value to specify for the service setting. The following list specifies the available values for each setting.

  • For /ssm/appmanager/appmanager-enabled, enter True or False.
  • For /ssm/automation/customer-script-log-destination, enter CloudWatch.
  • For /ssm/automation/customer-script-log-group-name, enter the name of an Amazon CloudWatch Logs log group.
  • For /ssm/documents/console/public-sharing-permission, enter Enable or Disable.
  • For /ssm/managed-instance/activation-tier, enter standard or advanced.
  • For /ssm/managed-instance/default-ec2-instance-management-role, enter the name of an IAM role.
  • For /ssm/opsinsights/opscenter, enter Enabled or Disabled.
  • For /ssm/parameter-store/default-parameter-tier, enter Standard, Advanced, or Intelligent-Tiering
  • For /ssm/parameter-store/high-throughput-enabled, enter true or false.

Implementation

Future<void> updateServiceSetting({
  required String settingId,
  required String settingValue,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonSSM.UpdateServiceSetting'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'SettingId': settingId,
      'SettingValue': settingValue,
    },
  );
}