updateConstraint method
Updates the specified constraint.
May throw ResourceNotFoundException. May throw InvalidParametersException.
Parameter id
:
The identifier of the constraint.
Parameter acceptLanguage
:
The language code.
-
en
- English (default) -
jp
- Japanese -
zh
- Chinese
Parameter description
:
The updated description of the constraint.
Parameter parameters
:
The constraint parameters, in JSON format. The syntax depends on the
constraint type as follows:
- LAUNCH
-
You are required to specify either the
RoleArn
or theLocalRoleName
but can't use both.Specify the
RoleArn
property as follows:{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
Specify the
LocalRoleName
property as follows:{"LocalRoleName": "SCBasicLaunchRole"}
If you specify the
LocalRoleName
property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account. You cannot have both aLAUNCH
and aSTACKSET
constraint.You also cannot have more than one
LAUNCH
constraint on a product and portfolio. - NOTIFICATION
-
Specify the
NotificationArns
property as follows:{"NotificationArns" :
"arn:aws:sns:us-east-1:123456789012:Topic"
} - RESOURCE_UPDATE
-
Specify the
TagUpdatesOnProvisionedProduct
property as follows:{"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
The
TagUpdatesOnProvisionedProduct
property accepts a string value ofALLOWED
orNOT_ALLOWED
. - STACKSET
-
Specify the
Parameters
property as follows:{"Version": "String", "Properties": {"AccountList":
"String"
, "RegionList":"String"
, "AdminRole": "String", "ExecutionRole": "String"}}You cannot have both a
LAUNCH
and aSTACKSET
constraint.You also cannot have more than one
STACKSET
constraint on a product and portfolio.Products with a
STACKSET
constraint will launch an AWS CloudFormation stack set. - TEMPLATE
-
Specify the
Rules
property. For more information, see Template Constraint Rules.
Implementation
Future<UpdateConstraintOutput> updateConstraint({
required String id,
String? acceptLanguage,
String? description,
String? parameters,
}) async {
ArgumentError.checkNotNull(id, 'id');
_s.validateStringLength(
'id',
id,
1,
100,
isRequired: true,
);
_s.validateStringLength(
'acceptLanguage',
acceptLanguage,
0,
100,
);
_s.validateStringLength(
'description',
description,
0,
2000,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWS242ServiceCatalogService.UpdateConstraint'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Id': id,
if (acceptLanguage != null) 'AcceptLanguage': acceptLanguage,
if (description != null) 'Description': description,
if (parameters != null) 'Parameters': parameters,
},
);
return UpdateConstraintOutput.fromJson(jsonResponse.body);
}