registerContainerInstance method
May throw ServerException. May throw ClientException. May throw InvalidParameterException.
Parameter attributes
:
The container instance attributes that this container instance supports.
Parameter cluster
:
The short name or full Amazon Resource Name (ARN) of the cluster with
which to register your container instance. If you do not specify a
cluster, the default cluster is assumed.
Parameter containerInstanceArn
:
The ARN of the container instance (if it was previously registered).
Parameter instanceIdentityDocument
:
The instance identity document for the EC2 instance to register. This
document can be found by running the following command from the instance:
curl
http://169.254.169.254/latest/dynamic/instance-identity/document/
Parameter instanceIdentityDocumentSignature
:
The instance identity document signature for the EC2 instance to register.
This signature can be found by running the following command from the
instance: curl
http://169.254.169.254/latest/dynamic/instance-identity/signature/
Parameter platformDevices
:
The devices that are available on the container instance. The only
supported device type is a GPU.
Parameter tags
:
The metadata that you apply to the container instance to help you
categorize and organize them. Each tag consists of a key and an optional
value, both of which you define.
The following basic restrictions apply to tags:
- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
-
Do not use
aws:
,AWS:
, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
Parameter totalResources
:
The resources available on the instance.
Parameter versionInfo
:
The version information for the Amazon ECS container agent and Docker
daemon running on the container instance.
Implementation
Future<RegisterContainerInstanceResponse> registerContainerInstance({
List<Attribute>? attributes,
String? cluster,
String? containerInstanceArn,
String? instanceIdentityDocument,
String? instanceIdentityDocumentSignature,
List<PlatformDevice>? platformDevices,
List<Tag>? tags,
List<Resource>? totalResources,
VersionInfo? versionInfo,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target':
'AmazonEC2ContainerServiceV20141113.RegisterContainerInstance'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (attributes != null) 'attributes': attributes,
if (cluster != null) 'cluster': cluster,
if (containerInstanceArn != null)
'containerInstanceArn': containerInstanceArn,
if (instanceIdentityDocument != null)
'instanceIdentityDocument': instanceIdentityDocument,
if (instanceIdentityDocumentSignature != null)
'instanceIdentityDocumentSignature':
instanceIdentityDocumentSignature,
if (platformDevices != null) 'platformDevices': platformDevices,
if (tags != null) 'tags': tags,
if (totalResources != null) 'totalResources': totalResources,
if (versionInfo != null) 'versionInfo': versionInfo,
},
);
return RegisterContainerInstanceResponse.fromJson(jsonResponse.body);
}