updateServiceSetting method

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

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS 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. AWS 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 action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS 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 reset. 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/parameter-store/default-parameter-tier
  • /ssm/parameter-store/high-throughput-enabled
  • /ssm/managed-instance/activation-tier

Parameter settingValue : The new value to specify for the service setting. For the /ssm/parameter-store/default-parameter-tier setting ID, the setting value can be one of the following.

  • Standard
  • Advanced
  • Intelligent-Tiering
For the /ssm/parameter-store/high-throughput-enabled, and /ssm/managed-instance/activation-tier setting IDs, the setting value can be true or false.

Implementation

Future<void> updateServiceSetting({
  required String settingId,
  required String settingValue,
}) async {
  ArgumentError.checkNotNull(settingId, 'settingId');
  _s.validateStringLength(
    'settingId',
    settingId,
    1,
    1000,
    isRequired: true,
  );
  ArgumentError.checkNotNull(settingValue, 'settingValue');
  _s.validateStringLength(
    'settingValue',
    settingValue,
    1,
    4096,
    isRequired: true,
  );
  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,
    },
  );
}