setSecurityTokenServicePreferences method

Future<void> setSecurityTokenServicePreferences({
  1. required GlobalEndpointTokenVersion globalEndpointTokenVersion,
})

Sets the specified version of the global endpoint token as the token version used for the AWS account.

By default, AWS Security Token Service (STS) is available as a global service, and all STS requests go to a single endpoint at https://sts.amazonaws.com. AWS recommends using Regional STS endpoints to reduce latency, build in redundancy, and increase session token availability. For information about Regional endpoints for STS, see AWS Regions and Endpoints in the AWS General Reference.

If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

To view the current session token version, see the GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation.

May throw ServiceFailureException.

Parameter globalEndpointTokenVersion : The version of the global endpoint token. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens.

For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

Implementation

Future<void> setSecurityTokenServicePreferences({
  required GlobalEndpointTokenVersion globalEndpointTokenVersion,
}) async {
  ArgumentError.checkNotNull(
      globalEndpointTokenVersion, 'globalEndpointTokenVersion');
  final $request = <String, dynamic>{};
  $request['GlobalEndpointTokenVersion'] =
      globalEndpointTokenVersion.toValue();
  await _protocol.send(
    $request,
    action: 'SetSecurityTokenServicePreferences',
    version: '2010-05-08',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['SetSecurityTokenServicePreferencesRequest'],
    shapes: shapes,
  );
}