From 1b3096a782166438858e53aac38f3406dd8d647e Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 24 Apr 2024 14:38:11 -0400 Subject: [PATCH] Release v1.51.28 (2024-04-24) (#5241) Release v1.51.28 (2024-04-24) === ### Service Client Updates * `service/datasync`: Updates service API and documentation * `service/ec2`: Updates service API and documentation * Launching capability for customers to enable or disable automatic assignment of public IPv4 addresses to their network interface * `service/emr-containers`: Updates service API, documentation, and paginators * `service/entityresolution`: Updates service API and documentation * `service/gamelift`: Updates service API, documentation, and paginators * Amazon GameLift releases container fleets support for public preview. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. * `service/ssm`: Updates service API, documentation, and paginators * Add SSM DescribeInstanceProperties API to public AWS SDK. --- CHANGELOG.md | 14 + aws/endpoints/defaults.go | 15 + aws/version.go | 2 +- models/apis/datasync/2018-11-09/api-2.json | 35 +- models/apis/datasync/2018-11-09/docs-2.json | 109 +- models/apis/ec2/2016-11-15/api-2.json | 10 +- models/apis/ec2/2016-11-15/docs-2.json | 2 + .../apis/emr-containers/2020-10-01/api-2.json | 206 +- .../emr-containers/2020-10-01/docs-2.json | 144 +- .../2020-10-01/paginators-1.json | 6 + .../entityresolution/2018-05-10/api-2.json | 150 +- .../entityresolution/2018-05-10/docs-2.json | 75 + models/apis/gamelift/2015-10-01/api-2.json | 546 ++- models/apis/gamelift/2015-10-01/docs-2.json | 565 ++- .../gamelift/2015-10-01/paginators-1.json | 6 + models/apis/ssm/2014-11-06/api-2.json | 195 + models/apis/ssm/2014-11-06/docs-2.json | 190 +- models/apis/ssm/2014-11-06/paginators-1.json | 6 + models/endpoints/endpoints.json | 5 + service/datasync/api.go | 367 +- service/ec2/api.go | 26 + service/emrcontainers/api.go | 1241 +++++- .../emrcontainersiface/interface.go | 15 + service/entityresolution/api.go | 336 ++ .../entityresolutioniface/interface.go | 4 + service/gamelift/api.go | 3842 +++++++++++++++-- service/gamelift/errors.go | 9 + service/gamelift/gameliftiface/interface.go | 19 + service/ssm/api.go | 940 +++- service/ssm/errors.go | 7 + service/ssm/ssmiface/interface.go | 7 + 31 files changed, 8416 insertions(+), 678 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5e699d0629..e51fc6ee887 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.51.28 (2024-04-24) +=== + +### Service Client Updates +* `service/datasync`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * Launching capability for customers to enable or disable automatic assignment of public IPv4 addresses to their network interface +* `service/emr-containers`: Updates service API, documentation, and paginators +* `service/entityresolution`: Updates service API and documentation +* `service/gamelift`: Updates service API, documentation, and paginators + * Amazon GameLift releases container fleets support for public preview. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. +* `service/ssm`: Updates service API, documentation, and paginators + * Add SSM DescribeInstanceProperties API to public AWS SDK. + Release v1.51.27 (2024-04-23) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index f82c4e55450..82b117e72b2 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -26008,6 +26008,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -26017,18 +26020,27 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -26038,6 +26050,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index b83e9c6b65f..ccfdcff25c7 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.51.27" +const SDKVersion = "1.51.28" diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 0a6d5abe82c..e7041dc989f 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -1674,7 +1674,8 @@ "CreationTime":{"shape":"Time"}, "Includes":{"shape":"FilterList"}, "ManifestConfig":{"shape":"ManifestConfig"}, - "TaskReportConfig":{"shape":"TaskReportConfig"} + "TaskReportConfig":{"shape":"TaskReportConfig"}, + "ScheduleDetails":{"shape":"TaskScheduleDetails"} } }, "DestinationNetworkInterfaceArns":{ @@ -2794,11 +2795,30 @@ "max":4096, "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" }, + "ScheduleDisabledBy":{ + "type":"string", + "enum":[ + "USER", + "SERVICE" + ] + }, + "ScheduleDisabledReason":{ + "type":"string", + "max":8192, + "pattern":"^[\\w\\s.,'?!:;\\/=|<>()-]*$" + }, "ScheduleExpressionCron":{ "type":"string", "max":256, "pattern":"^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$" }, + "ScheduleStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "SecretsManagerArn":{ "type":"string", "max":2048, @@ -2987,7 +3007,7 @@ "TagValue":{ "type":"string", "max":256, - "min":1, + "min":0, "pattern":"^[a-zA-Z0-9\\s+=._:@/-]+$" }, "TaggableResourceArn":{ @@ -3099,7 +3119,16 @@ "type":"structure", "required":["ScheduleExpression"], "members":{ - "ScheduleExpression":{"shape":"ScheduleExpressionCron"} + "ScheduleExpression":{"shape":"ScheduleExpressionCron"}, + "Status":{"shape":"ScheduleStatus"} + } + }, + "TaskScheduleDetails":{ + "type":"structure", + "members":{ + "StatusUpdateTime":{"shape":"Time"}, + "DisabledReason":{"shape":"ScheduleDisabledReason"}, + "DisabledBy":{"shape":"ScheduleDisabledBy"} } }, "TaskStatus":{ diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index 6cfacd9bc1f..aefa23eb2f8 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -16,7 +16,7 @@ "CreateLocationObjectStorage": "

Creates a transfer location for an object storage system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand the prerequisites for DataSync to work with object storage systems.

", "CreateLocationS3": "

Creates a transfer location for an Amazon S3 bucket. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you read the following topics:

For more information, see Configuring transfers with Amazon S3.

", "CreateLocationSmb": "

Creates a transfer location for a Server Message Block (SMB) file server. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses SMB file servers.

", - "CreateTask": "

Configures a transfer task, which defines where and how DataSync moves your data.

A task includes a source location, destination location, and the options for how and when you want to transfer your data (such as bandwidth limits, scheduling, among other options).

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

", + "CreateTask": "

Configures a task, which defines where and how DataSync transfers your data.

A task includes a source location, destination location, and transfer options (such as bandwidth limits, scheduling, and more).

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

", "DeleteAgent": "

Removes an DataSync agent resource from your Amazon Web Services account.

Keep in mind that this operation (which can't be undone) doesn't remove the agent's virtual machine (VM) or Amazon EC2 instance from your storage environment. For next steps, you can delete the VM or instance from your storage environment or reuse it to activate a new agent.

", "DeleteLocation": "

Deletes a transfer location resource from DataSync.

", "DeleteTask": "

Deletes a transfer task resource from DataSync.

", @@ -36,7 +36,7 @@ "DescribeStorageSystem": "

Returns information about an on-premises storage system that you're using with DataSync Discovery.

", "DescribeStorageSystemResourceMetrics": "

Returns information, including performance data and capacity usage, which DataSync Discovery collects about a specific resource in your-premises storage system.

", "DescribeStorageSystemResources": "

Returns information that DataSync Discovery collects about resources in your on-premises storage system.

", - "DescribeTask": "

Provides information about an DataSync transfer task.

", + "DescribeTask": "

Provides information about a task, which defines where and how DataSync transfers your data.

", "DescribeTaskExecution": "

Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing transfer or check the results of the transfer.

", "GenerateRecommendations": "

Creates recommendations about where to migrate your data to in Amazon Web Services. Recommendations are generated based on information that DataSync Discovery collects about your on-premises storage system's resources. For more information, see Recommendations provided by DataSync Discovery.

Once generated, you can view your recommendations by using the DescribeStorageSystemResources operation.

", "ListAgents": "

Returns a list of DataSync agents that belong to an Amazon Web Services account in the Amazon Web Services Region specified in the request.

With pagination, you can reduce the number of agents returned in a response. If you get a truncated list of agents in a response, the response contains a marker that you can specify in your next request to fetch the next page of agents.

ListAgents is eventually consistent. This means the result of running the operation might not reflect that you just created or deleted an agent. For example, if you create an agent with CreateAgent and then immediately run ListAgents, that agent might not show up in the list right away. In situations like this, you can always confirm whether an agent has been created (or deleted) by using DescribeAgent.

", @@ -60,7 +60,7 @@ "UpdateLocationObjectStorage": "

Updates some parameters of an existing object storage location that DataSync accesses for a transfer. For information about creating a self-managed object storage location, see Creating a location for object storage.

", "UpdateLocationSmb": "

Updates some of the parameters of a Server Message Block (SMB) file server location that you can use for DataSync transfers.

", "UpdateStorageSystem": "

Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.

", - "UpdateTask": "

Updates the configuration of an DataSync transfer task.

", + "UpdateTask": "

Updates the configuration of a task, which defines where and how DataSync transfers your data.

", "UpdateTaskExecution": "

Updates the configuration of a running DataSync task execution.

Currently, the only Option that you can modify with UpdateTaskExecution is BytesPerSecond , which throttles bandwidth for a running or queued task execution.

" }, "shapes": { @@ -135,7 +135,7 @@ "AgentVersion": { "base": null, "refs": { - "Platform$Version": "

The version of the DataSync agent.

On December 7, 2023, we discontinued version 1 DataSync agents. Check the DataSync console to see if you have affected agents. If you do, replace those agents or delete them if they aren't in use. If you need more help, contact Amazon Web Services Support.

" + "Platform$Version": "

The version of the DataSync agent.

" } }, "Atime": { @@ -574,7 +574,7 @@ "DestinationNetworkInterfaceArns": { "base": null, "refs": { - "DescribeTaskResponse$DestinationNetworkInterfaceArns": "

The Amazon Resource Names (ARNs) of the network interfaces created for your destination location. For more information, see Network interface requirements.

" + "DescribeTaskResponse$DestinationNetworkInterfaceArns": "

The ARNs of the network interfaces that DataSync created for your destination location.

" } }, "DiscoveryAgentArnList": { @@ -794,16 +794,16 @@ "FilterList": { "base": null, "refs": { - "CreateTaskRequest$Excludes": "

Specifies a list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", - "CreateTaskRequest$Includes": "

Specifies a list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", + "CreateTaskRequest$Excludes": "

Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

", + "CreateTaskRequest$Includes": "

Specifies include filters define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

", "DescribeTaskExecutionResponse$Excludes": "

A list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", "DescribeTaskExecutionResponse$Includes": "

A list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", - "DescribeTaskResponse$Excludes": "

A list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", - "DescribeTaskResponse$Includes": "

A list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", + "DescribeTaskResponse$Excludes": "

The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

", + "DescribeTaskResponse$Includes": "

The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

", "StartTaskExecutionRequest$Includes": "

Specifies a list of filter rules that determines which files to include when running a task. The pattern should contain a single filter string that consists of the patterns to include. The patterns are delimited by \"|\" (that is, a pipe), for example, \"/folder1|/folder2\".

", "StartTaskExecutionRequest$Excludes": "

Specifies a list of filter rules that determines which files to exclude from a task. The list contains a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example, \"/folder1|/folder2\".

", - "UpdateTaskRequest$Excludes": "

Specifies a list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

", - "UpdateTaskRequest$Includes": "

Specifies a list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

" + "UpdateTaskRequest$Excludes": "

Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

", + "UpdateTaskRequest$Includes": "

Specifies include filters define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

" } }, "FilterMembers": { @@ -1016,7 +1016,7 @@ "CreateLocationObjectStorageRequest$Tags": "

Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.

", "CreateLocationS3Request$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.

", "CreateLocationSmbRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

", - "CreateTaskRequest$Tags": "

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

", + "CreateTaskRequest$Tags": "

Specifies the tags that you want to apply to your task.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

", "StartDiscoveryJobRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources.

", "StartTaskExecutionRequest$Tags": "

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task execution.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

", "TagResourceRequest$Tags": "

Specifies the tags that you want to apply to the resource.

" @@ -1152,8 +1152,8 @@ "CreateLocationObjectStorageResponse$LocationArn": "

Specifies the ARN of the object storage system location that you create.

", "CreateLocationS3Response$LocationArn": "

The ARN of the S3 location that you created.

", "CreateLocationSmbResponse$LocationArn": "

The ARN of the SMB location that you created.

", - "CreateTaskRequest$SourceLocationArn": "

The Amazon Resource Name (ARN) of the source location for the task.

", - "CreateTaskRequest$DestinationLocationArn": "

The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's location.

", + "CreateTaskRequest$SourceLocationArn": "

Specifies the ARN of your transfer's source location.

", + "CreateTaskRequest$DestinationLocationArn": "

Specifies the ARN of your transfer's destination location.

", "DeleteLocationRequest$LocationArn": "

The Amazon Resource Name (ARN) of the location to delete.

", "DescribeLocationAzureBlobRequest$LocationArn": "

Specifies the Amazon Resource Name (ARN) of your Azure Blob Storage transfer location.

", "DescribeLocationAzureBlobResponse$LocationArn": "

The ARN of your Azure Blob Storage transfer location.

", @@ -1177,8 +1177,8 @@ "DescribeLocationS3Response$LocationArn": "

The ARN of the Amazon S3 location.

", "DescribeLocationSmbRequest$LocationArn": "

Specifies the Amazon Resource Name (ARN) of the SMB location that you want information about.

", "DescribeLocationSmbResponse$LocationArn": "

The ARN of the SMB location.

", - "DescribeTaskResponse$SourceLocationArn": "

The Amazon Resource Name (ARN) of the source file system's location.

", - "DescribeTaskResponse$DestinationLocationArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's location.

", + "DescribeTaskResponse$SourceLocationArn": "

The ARN of your transfer's source location.

", + "DescribeTaskResponse$DestinationLocationArn": "

The ARN of your transfer's destination location.

", "LocationListEntry$LocationArn": "

The Amazon Resource Name (ARN) of the location. For Network File System (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the location is the prefix path that you want to mount and use as the root of the location.

", "UpdateLocationAzureBlobRequest$LocationArn": "

Specifies the ARN of the Azure Blob Storage transfer location that you're updating.

", "UpdateLocationHdfsRequest$LocationArn": "

The Amazon Resource Name (ARN) of the source HDFS cluster location.

", @@ -1238,11 +1238,11 @@ "base": null, "refs": { "AddStorageSystemRequest$CloudWatchLogGroupArn": "

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

", - "CreateTaskRequest$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

", + "CreateTaskRequest$CloudWatchLogGroupArn": "

Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

", "DescribeStorageSystemResponse$CloudWatchLogGroupArn": "

The ARN of the Amazon CloudWatch log group that's used to monitor and log discovery job events.

", - "DescribeTaskResponse$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task.

For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

", + "DescribeTaskResponse$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

For more information, see Monitoring DataSync with Amazon CloudWatch.

", "UpdateStorageSystemRequest$CloudWatchLogGroupArn": "

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

", - "UpdateTaskRequest$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch log group.

" + "UpdateTaskRequest$CloudWatchLogGroupArn": "

Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

" } }, "LogLevel": { @@ -1262,7 +1262,7 @@ "refs": { "CreateTaskRequest$ManifestConfig": "

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

", "DescribeTaskExecutionResponse$ManifestConfig": "

The configuration of the manifest that lists the files or objects to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

", - "DescribeTaskResponse$ManifestConfig": "

The configuration of the manifest that lists the files or objects to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

", + "DescribeTaskResponse$ManifestConfig": "

The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

", "StartTaskExecutionRequest$ManifestConfig": "

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a manifest configuration, specify this parameter with an empty value.

", "UpdateTaskRequest$ManifestConfig": "

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the IAM role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a manifest configuration, specify this parameter as empty.

" } @@ -1521,11 +1521,11 @@ } }, "Options": { - "base": "

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any of these options before starting your task.

", + "base": "

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

", "refs": { - "CreateTaskRequest$Options": "

Specifies the configuration options for a task. Some options include preserving file or object metadata and verifying data integrity.

You can also override these options before starting an individual run of a task (also known as a task execution). For more information, see StartTaskExecution.

", + "CreateTaskRequest$Options": "

Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.

", "DescribeTaskExecutionResponse$Options": null, - "DescribeTaskResponse$Options": "

The configuration options that control the behavior of the StartTaskExecution operation. Some options include preserving file or object metadata and verifying data integrity.

You can override these options for each task execution. For more information, see StartTaskExecution.

", + "DescribeTaskResponse$Options": "

The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.

", "StartTaskExecutionRequest$OverrideOptions": null, "UpdateTaskExecutionRequest$Options": null, "UpdateTaskRequest$Options": null @@ -1818,10 +1818,28 @@ "UpdateLocationObjectStorageRequest$Subdirectory": "

Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.

" } }, + "ScheduleDisabledBy": { + "base": null, + "refs": { + "TaskScheduleDetails$DisabledBy": "

Indicates how your task schedule was disabled.

" + } + }, + "ScheduleDisabledReason": { + "base": null, + "refs": { + "TaskScheduleDetails$DisabledReason": "

Provides a reason if the task schedule is disabled.

If your schedule is disabled by USER, you see a Manually disabled by user. message.

If your schedule is disabled by SERVICE, you see an error message to help you understand why the task keeps failing. For information on resolving DataSync errors, see Troubleshooting issues with DataSync transfers.

" + } + }, "ScheduleExpressionCron": { "base": null, "refs": { - "TaskSchedule$ScheduleExpression": "

A cron expression that specifies when DataSync initiates a scheduled transfer from a source to a destination location.

" + "TaskSchedule$ScheduleExpression": "

Specifies your task schedule by using a cron expression in UTC time. For information about cron expression syntax, see the Amazon EventBridge User Guide .

" + } + }, + "ScheduleStatus": { + "base": null, + "refs": { + "TaskSchedule$Status": "

Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer or fix an issue with your task or perform maintenance on your storage system.

DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see TaskScheduleDetails.

" } }, "SecretsManagerArn": { @@ -1906,7 +1924,7 @@ "SourceNetworkInterfaceArns": { "base": null, "refs": { - "DescribeTaskResponse$SourceNetworkInterfaceArns": "

The Amazon Resource Names (ARNs) of the network interfaces created for your source location. For more information, see Network interface requirements.

" + "DescribeTaskResponse$SourceNetworkInterfaceArns": "

The ARNs of the network interfaces that DataSync created for your source location.

" } }, "StartDiscoveryJobRequest": { @@ -2013,13 +2031,13 @@ "refs": { "AgentListEntry$Name": "

The name of an agent.

", "CreateAgentRequest$AgentName": "

Specifies a name for your agent. You can see this name in the DataSync console.

", - "CreateTaskRequest$Name": "

The name of a task. This value is a text reference that is used to identify the task in the console.

", + "CreateTaskRequest$Name": "

Specifies the name of your task.

", "DescribeAgentResponse$Name": "

The name of the agent.

", - "DescribeTaskResponse$Name": "

The name of the task that was described.

", + "DescribeTaskResponse$Name": "

The name of your task.

", "TagListEntry$Value": "

The value for an Amazon Web Services resource tag.

", "TaskListEntry$Name": "

The name of the task.

", "UpdateAgentRequest$Name": "

The name that you want to use to configure the agent.

", - "UpdateTaskRequest$Name": "

The name of the task to update.

" + "UpdateTaskRequest$Name": "

Specifies the name of your task.

" } }, "TaggableResourceArn": { @@ -2035,12 +2053,12 @@ "refs": { "CreateTaskResponse$TaskArn": "

The Amazon Resource Name (ARN) of the task.

", "DeleteTaskRequest$TaskArn": "

Specifies the Amazon Resource Name (ARN) of the task that you want to delete.

", - "DescribeTaskRequest$TaskArn": "

Specifies the Amazon Resource Name (ARN) of the transfer task.

", - "DescribeTaskResponse$TaskArn": "

The Amazon Resource Name (ARN) of the task that was described.

", + "DescribeTaskRequest$TaskArn": "

Specifies the Amazon Resource Name (ARN) of the transfer task that you want information about.

", + "DescribeTaskResponse$TaskArn": "

The ARN of your task.

", "ListTaskExecutionsRequest$TaskArn": "

Specifies the Amazon Resource Name (ARN) of the task that you want execution information about.

", "StartTaskExecutionRequest$TaskArn": "

Specifies the Amazon Resource Name (ARN) of the task that you want to start.

", "TaskListEntry$TaskArn": "

The Amazon Resource Name (ARN) of the task.

", - "UpdateTaskRequest$TaskArn": "

The Amazon Resource Name (ARN) of the resource name of the task to update.

" + "UpdateTaskRequest$TaskArn": "

Specifies the ARN of the task that you want to update.

" } }, "TaskExecutionArn": { @@ -2049,7 +2067,7 @@ "CancelTaskExecutionRequest$TaskExecutionArn": "

The Amazon Resource Name (ARN) of the task execution to stop.

", "DescribeTaskExecutionRequest$TaskExecutionArn": "

Specifies the Amazon Resource Name (ARN) of the task execution that you want information about.

", "DescribeTaskExecutionResponse$TaskExecutionArn": "

The ARN of the task execution that you wanted information about. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.

", - "DescribeTaskResponse$CurrentTaskExecutionArn": "

The Amazon Resource Name (ARN) of the task execution that is transferring files.

", + "DescribeTaskResponse$CurrentTaskExecutionArn": "

The ARN of the most recent task execution.

", "StartTaskExecutionResponse$TaskExecutionArn": "

The ARN of the running task execution.

", "TaskExecutionListEntry$TaskExecutionArn": "

The Amazon Resource Name (ARN) of a task execution.

", "UpdateTaskExecutionRequest$TaskExecutionArn": "

Specifies the Amazon Resource Name (ARN) of the task execution that you're updating.

" @@ -2121,23 +2139,29 @@ "refs": { "CreateTaskRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

", "DescribeTaskExecutionResponse$TaskReportConfig": "

The configuration of your task report, which provides detailed information about for your DataSync transfer. For more information, see Creating a task report.

", - "DescribeTaskResponse$TaskReportConfig": "

The configuration of your task report, which provides detailed information about for your DataSync transfer. For more information, see Creating a task report.

", + "DescribeTaskResponse$TaskReportConfig": "

The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

", "StartTaskExecutionRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a task report configuration, specify this parameter as empty.

", "UpdateTaskRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the IAM role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a task report configuration, specify this parameter as empty.

" } }, "TaskSchedule": { - "base": "

Specifies the schedule you want your task to use for repeated executions. For more information, see Schedule Expressions for Rules.

", + "base": "

Configures your DataSync task to run on a schedule (at a minimum interval of 1 hour).

", + "refs": { + "CreateTaskRequest$Schedule": "

Specifies a schedule for when you want your task to run. For more information, see Scheduling your task.

", + "DescribeTaskResponse$Schedule": "

The schedule for when you want your task to run. For more information, see Scheduling your task.

", + "UpdateTaskRequest$Schedule": "

Specifies a schedule for when you want your task to run. For more information, see Scheduling your task.

" + } + }, + "TaskScheduleDetails": { + "base": "

Provides information about your DataSync task schedule.

", "refs": { - "CreateTaskRequest$Schedule": "

Specifies a schedule used to periodically transfer files from a source to a destination location. The schedule should be specified in UTC time. For more information, see Scheduling your task.

", - "DescribeTaskResponse$Schedule": "

The schedule used to periodically transfer files from a source to a destination location.

", - "UpdateTaskRequest$Schedule": "

Specifies a schedule used to periodically transfer files from a source to a destination location. You can configure your task to execute hourly, daily, weekly or on specific days of the week. You control when in the day or hour you want the task to execute. The time you specify is UTC time. For more information, see Scheduling your task.

" + "DescribeTaskResponse$ScheduleDetails": "

The details about your task schedule.

" } }, "TaskStatus": { "base": null, "refs": { - "DescribeTaskResponse$Status": "

The status of the task that was described.

For detailed information about task execution statuses, see Understanding Task Statuses in the DataSync User Guide.

", + "DescribeTaskResponse$Status": "

The status of your task. For information about what each status means, see Task statuses.

", "TaskListEntry$Status": "

The status of the task.

" } }, @@ -2164,7 +2188,8 @@ "DescribeLocationS3Response$CreationTime": "

The time that the Amazon S3 location was created.

", "DescribeLocationSmbResponse$CreationTime": "

The time that the SMB location was created.

", "DescribeTaskExecutionResponse$StartTime": "

The time when the task execution started.

", - "DescribeTaskResponse$CreationTime": "

The time that the task was created.

" + "DescribeTaskResponse$CreationTime": "

The time that the task was created.

", + "TaskScheduleDetails$StatusUpdateTime": "

Indicates the last time the status of your task schedule changed. For example, if DataSync automatically disables your schedule because of a repeated error, you can see when the schedule was disabled.

" } }, "Timestamp": { @@ -2299,7 +2324,7 @@ "VerifyMode": { "base": null, "refs": { - "Options$VerifyMode": "

Specifies how and when DataSync checks the integrity of your data during a transfer.

" + "Options$VerifyMode": "

Specifies how and when DataSync checks the integrity of your data during a transfer.

" } }, "VpcEndpointId": { @@ -2327,8 +2352,8 @@ "string": { "base": null, "refs": { - "DescribeTaskResponse$ErrorCode": "

Errors that DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

", - "DescribeTaskResponse$ErrorDetail": "

Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

", + "DescribeTaskResponse$ErrorCode": "

If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

", + "DescribeTaskResponse$ErrorDetail": "

If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

", "InternalException$message": null, "InternalException$errorCode": null, "InvalidRequestException$message": null, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 4d6037c7485..397f2634aad 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -17412,6 +17412,10 @@ "SourceDestCheck":{ "shape":"AttributeBooleanValue", "locationName":"sourceDestCheck" + }, + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "locationName":"associatePublicIpAddress" } } }, @@ -33274,7 +33278,8 @@ }, "EnaSrdSpecification":{"shape":"EnaSrdSpecification"}, "EnablePrimaryIpv6":{"shape":"Boolean"}, - "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"} + "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"}, + "AssociatePublicIpAddress":{"shape":"Boolean"} } }, "ModifyPrivateDnsNameOptionsRequest":{ @@ -35205,7 +35210,8 @@ "description", "groupSet", "sourceDestCheck", - "attachment" + "attachment", + "associatePublicIpAddress" ] }, "NetworkInterfaceCount":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index d8ddbf659f0..339affea4ce 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -2317,6 +2317,7 @@ "DescribeNetworkInsightsAnalysesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeNetworkInsightsPathsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeNetworkInterfaceAttributeResult$AssociatePublicIpAddress": "

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

", "DescribeNetworkInterfacesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribePlacementGroupsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribePrefixListsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -2650,6 +2651,7 @@ "ModifyManagedPrefixListRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyNetworkInterfaceAttributeRequest$EnablePrimaryIpv6": "

If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.

", + "ModifyNetworkInterfaceAttributeRequest$AssociatePublicIpAddress": "

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

", "ModifyPrivateDnsNameOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyPrivateDnsNameOptionsRequest$EnableResourceNameDnsARecord": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

", "ModifyPrivateDnsNameOptionsRequest$EnableResourceNameDnsAAAARecord": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

", diff --git a/models/apis/emr-containers/2020-10-01/api-2.json b/models/apis/emr-containers/2020-10-01/api-2.json index f415b01e677..be2c37ef996 100644 --- a/models/apis/emr-containers/2020-10-01/api-2.json +++ b/models/apis/emr-containers/2020-10-01/api-2.json @@ -53,6 +53,19 @@ {"shape":"InternalServerException"} ] }, + "CreateSecurityConfiguration":{ + "name":"CreateSecurityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/securityconfigurations" + }, + "input":{"shape":"CreateSecurityConfigurationRequest"}, + "output":{"shape":"CreateSecurityConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "CreateVirtualCluster":{ "name":"CreateVirtualCluster", "http":{ @@ -149,6 +162,20 @@ {"shape":"InternalServerException"} ] }, + "DescribeSecurityConfiguration":{ + "name":"DescribeSecurityConfiguration", + "http":{ + "method":"GET", + "requestUri":"/securityconfigurations/{securityConfigurationId}" + }, + "input":{"shape":"DescribeSecurityConfigurationRequest"}, + "output":{"shape":"DescribeSecurityConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeVirtualCluster":{ "name":"DescribeVirtualCluster", "http":{ @@ -217,6 +244,19 @@ {"shape":"InternalServerException"} ] }, + "ListSecurityConfigurations":{ + "name":"ListSecurityConfigurations", + "http":{ + "method":"GET", + "requestUri":"/securityconfigurations" + }, + "input":{"shape":"ListSecurityConfigurationsRequest"}, + "output":{"shape":"ListSecurityConfigurationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -294,6 +334,13 @@ "min":44, "pattern":"^arn:(aws[a-zA-Z0-9-]*):acm:.+:(\\d{12}):certificate/.+$" }, + "AuthorizationConfiguration":{ + "type":"structure", + "members":{ + "lakeFormationConfiguration":{"shape":"LakeFormationConfiguration"}, + "encryptionConfiguration":{"shape":"EncryptionConfiguration"} + } + }, "Base64Encoded":{ "type":"string", "max":5000, @@ -333,6 +380,10 @@ "certificateData":{"shape":"Base64Encoded"} } }, + "CertificateProviderType":{ + "type":"string", + "enum":["PEM"] + }, "ClientToken":{ "type":"string", "max":64, @@ -477,6 +528,31 @@ "virtualClusterId":{"shape":"ResourceIdString"} } }, + "CreateSecurityConfigurationRequest":{ + "type":"structure", + "required":[ + "clientToken", + "name", + "securityConfigurationData" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "name":{"shape":"ResourceNameString"}, + "securityConfigurationData":{"shape":"SecurityConfigurationData"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateSecurityConfigurationResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"ResourceIdString"}, + "name":{"shape":"ResourceNameString"}, + "arn":{"shape":"SecurityConfigurationArn"} + } + }, "CreateVirtualClusterRequest":{ "type":"structure", "required":[ @@ -491,7 +567,8 @@ "shape":"ClientToken", "idempotencyToken":true }, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "securityConfigurationId":{"shape":"ResourceIdString"} } }, "CreateVirtualClusterResponse":{ @@ -646,6 +723,23 @@ "endpoint":{"shape":"Endpoint"} } }, + "DescribeSecurityConfigurationRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ResourceIdString", + "location":"uri", + "locationName":"securityConfigurationId" + } + } + }, + "DescribeSecurityConfigurationResponse":{ + "type":"structure", + "members":{ + "securityConfiguration":{"shape":"SecurityConfiguration"} + } + }, "DescribeVirtualClusterRequest":{ "type":"structure", "required":["id"], @@ -677,6 +771,12 @@ "namespace":{"shape":"KubernetesNamespace"} } }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "inTransitEncryptionConfiguration":{"shape":"InTransitEncryptionConfiguration"} + } + }, "Endpoint":{ "type":"structure", "members":{ @@ -810,6 +910,12 @@ "min":20, "pattern":"^arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$" }, + "InTransitEncryptionConfiguration":{ + "type":"structure", + "members":{ + "tlsCertificateConfiguration":{"shape":"TLSCertificateConfiguration"} + } + }, "InternalServerException":{ "type":"structure", "members":{ @@ -929,6 +1035,14 @@ "min":1, "pattern":"[a-z0-9]([-a-z0-9]*[a-z0-9])?" }, + "LakeFormationConfiguration":{ + "type":"structure", + "members":{ + "authorizedSessionTagValue":{"shape":"SessionTagValue"}, + "secureNamespaceInfo":{"shape":"SecureNamespaceInfo"}, + "queryEngineRoleArn":{"shape":"IAMRoleArn"} + } + }, "ListJobRunsRequest":{ "type":"structure", "required":["virtualClusterId"], @@ -1057,6 +1171,38 @@ "nextToken":{"shape":"NextToken"} } }, + "ListSecurityConfigurationsRequest":{ + "type":"structure", + "members":{ + "createdAfter":{ + "shape":"Date", + "location":"querystring", + "locationName":"createdAfter" + }, + "createdBefore":{ + "shape":"Date", + "location":"querystring", + "locationName":"createdBefore" + }, + "maxResults":{ + "shape":"JavaInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSecurityConfigurationsResponse":{ + "type":"structure", + "members":{ + "securityConfigurations":{"shape":"SecurityConfigurations"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -1278,6 +1424,47 @@ "logUri":{"shape":"UriString"} } }, + "SecretsManagerArn":{ + "type":"string", + "max":2048, + "min":3, + "pattern":"^arn:(aws[a-zA-Z0-9-]*):secretsmanager:.+:(\\d{12}):secret:[0-9a-zA-Z/_+=.@-]+$" + }, + "SecureNamespaceInfo":{ + "type":"structure", + "members":{ + "clusterId":{"shape":"ClusterId"}, + "namespace":{"shape":"KubernetesNamespace"} + } + }, + "SecurityConfiguration":{ + "type":"structure", + "members":{ + "id":{"shape":"ResourceIdString"}, + "name":{"shape":"ResourceNameString"}, + "arn":{"shape":"SecurityConfigurationArn"}, + "createdAt":{"shape":"Date"}, + "createdBy":{"shape":"RequestIdentityUserArn"}, + "securityConfigurationData":{"shape":"SecurityConfigurationData"}, + "tags":{"shape":"TagMap"} + } + }, + "SecurityConfigurationArn":{ + "type":"string", + "max":1024, + "min":60, + "pattern":"^arn:(aws[a-zA-Z0-9-]*):emr-containers:.+:(\\d{12}):\\/securityconfigurations\\/[0-9a-zA-Z]+$" + }, + "SecurityConfigurationData":{ + "type":"structure", + "members":{ + "authorizationConfiguration":{"shape":"AuthorizationConfiguration"} + } + }, + "SecurityConfigurations":{ + "type":"list", + "member":{"shape":"SecurityConfiguration"} + }, "SensitivePropertiesMap":{ "type":"map", "key":{"shape":"String1024"}, @@ -1285,6 +1472,12 @@ "max":100, "sensitive":true }, + "SessionTagValue":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9 ]+" + }, "SparkSqlJobDriver":{ "type":"structure", "members":{ @@ -1385,6 +1578,14 @@ "type":"list", "member":{"shape":"String256"} }, + "TLSCertificateConfiguration":{ + "type":"structure", + "members":{ + "certificateProviderType":{"shape":"CertificateProviderType"}, + "publicCertificateSecretArn":{"shape":"SecretsManagerArn"}, + "privateCertificateSecretArn":{"shape":"SecretsManagerArn"} + } + }, "TagKeyList":{ "type":"list", "member":{"shape":"String128"}, @@ -1509,7 +1710,8 @@ "state":{"shape":"VirtualClusterState"}, "containerProvider":{"shape":"ContainerProvider"}, "createdAt":{"shape":"Date"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "securityConfigurationId":{"shape":"ResourceIdString"} } }, "VirtualClusterArn":{ diff --git a/models/apis/emr-containers/2020-10-01/docs-2.json b/models/apis/emr-containers/2020-10-01/docs-2.json index 34061ccb3fc..1bbff4274f8 100644 --- a/models/apis/emr-containers/2020-10-01/docs-2.json +++ b/models/apis/emr-containers/2020-10-01/docs-2.json @@ -5,6 +5,7 @@ "CancelJobRun": "

Cancels a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.

", "CreateJobTemplate": "

Creates a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "CreateManagedEndpoint": "

Creates a managed endpoint. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", + "CreateSecurityConfiguration": "

Creates a security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster.

", "CreateVirtualCluster": "

Creates a virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list and delete virtual clusters. They do not consume any additional resource in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.

", "DeleteJobTemplate": "

Deletes a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "DeleteManagedEndpoint": "

Deletes a managed endpoint. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", @@ -12,11 +13,13 @@ "DescribeJobRun": "

Displays detailed information about a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.

", "DescribeJobTemplate": "

Displays detailed information about a specified job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "DescribeManagedEndpoint": "

Displays detailed information about a managed endpoint. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", + "DescribeSecurityConfiguration": "

Displays detailed information about a specified security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster.

", "DescribeVirtualCluster": "

Displays detailed information about a specified virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list and delete virtual clusters. They do not consume any additional resource in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.

", "GetManagedEndpointSessionCredentials": "

Generate a session token to connect to a managed endpoint.

", "ListJobRuns": "

Lists job runs based on a set of parameters. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.

", "ListJobTemplates": "

Lists job templates based on a set of parameters. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "ListManagedEndpoints": "

Lists managed endpoints based on a set of parameters. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", + "ListSecurityConfigurations": "

Lists security configurations based on a set of parameters. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster.

", "ListTagsForResource": "

Lists the tags assigned to the resources.

", "ListVirtualClusters": "

Lists information about the specified virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list and delete virtual clusters. They do not consume any additional resource in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.

", "StartJobRun": "

Starts a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.

", @@ -32,6 +35,12 @@ "Endpoint$certificateArn": "

The certificate ARN of the endpoint. This field is under deprecation and will be removed in future.

" } }, + "AuthorizationConfiguration": { + "base": "

Authorization-related configuration inputs for the security configuration.

", + "refs": { + "SecurityConfigurationData$authorizationConfiguration": "

Authorization-related configuration input for the security configuration.

" + } + }, "Base64Encoded": { "base": null, "refs": { @@ -60,11 +69,18 @@ "Endpoint$certificateAuthority": "

The certificate generated by emr control plane on customer behalf to secure the managed endpoint.

" } }, + "CertificateProviderType": { + "base": null, + "refs": { + "TLSCertificateConfiguration$certificateProviderType": "

The TLS certificate type. Acceptable values: PEM or Custom.

" + } + }, "ClientToken": { "base": null, "refs": { "CreateJobTemplateRequest$clientToken": "

The client token of the job template.

", "CreateManagedEndpointRequest$clientToken": "

The client idempotency token for this create call.

", + "CreateSecurityConfigurationRequest$clientToken": "

The client idempotency token to use when creating the security configuration.

", "CreateVirtualClusterRequest$clientToken": "

The client token of the virtual cluster.

", "GetManagedEndpointSessionCredentialsRequest$clientToken": "

The client idempotency token of the job run request.

", "JobRun$clientToken": "

The client token used to start a job run.

", @@ -80,7 +96,8 @@ "ClusterId": { "base": null, "refs": { - "ContainerProvider$id": "

The ID of the container cluster.

" + "ContainerProvider$id": "

The ID of the container cluster.

", + "SecureNamespaceInfo$clusterId": "

The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run.

" } }, "Configuration": { @@ -152,6 +169,16 @@ "refs": { } }, + "CreateSecurityConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateSecurityConfigurationResponse": { + "base": null, + "refs": { + } + }, "CreateVirtualClusterRequest": { "base": null, "refs": { @@ -189,8 +216,11 @@ "ListJobTemplatesRequest$createdBefore": "

The date and time before which the job templates were created.

", "ListManagedEndpointsRequest$createdBefore": "

The date and time before which the endpoints are created.

", "ListManagedEndpointsRequest$createdAfter": "

The date and time after which the endpoints are created.

", + "ListSecurityConfigurationsRequest$createdAfter": "

The date and time after which the security configuration was created.

", + "ListSecurityConfigurationsRequest$createdBefore": "

The date and time before which the security configuration was created.

", "ListVirtualClustersRequest$createdAfter": "

The date and time after which the virtual clusters are created.

", "ListVirtualClustersRequest$createdBefore": "

The date and time before which the virtual clusters are created.

", + "SecurityConfiguration$createdAt": "

The date and time that the job run was created.

", "VirtualCluster$createdAt": "

The date and time when the virtual cluster is created.

" } }, @@ -254,6 +284,16 @@ "refs": { } }, + "DescribeSecurityConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DescribeSecurityConfigurationResponse": { + "base": null, + "refs": { + } + }, "DescribeVirtualClusterRequest": { "base": null, "refs": { @@ -275,6 +315,12 @@ "ContainerInfo$eksInfo": "

The information about the Amazon EKS cluster.

" } }, + "EncryptionConfiguration": { + "base": "

Configurations related to encryption for the security configuration.

", + "refs": { + "AuthorizationConfiguration$encryptionConfiguration": "

Encryption-related configuration input for the security configuration.

" + } + }, "Endpoint": { "base": "

This entity represents the endpoint that is managed by Amazon EMR on EKS.

", "refs": { @@ -365,9 +411,16 @@ "Endpoint$executionRoleArn": "

The execution role ARN of the endpoint.

", "GetManagedEndpointSessionCredentialsRequest$executionRoleArn": "

The IAM Execution Role ARN that will be used by the job run.

", "JobRun$executionRoleArn": "

The execution role ARN of the job run.

", + "LakeFormationConfiguration$queryEngineRoleArn": "

The query engine IAM role ARN that is tied to the secure Spark job. The QueryEngine role assumes the JobExecutionRole to execute all the Lake Formation calls.

", "StartJobRunRequest$executionRoleArn": "

The execution role ARN for the job run.

" } }, + "InTransitEncryptionConfiguration": { + "base": "

Configurations related to in-transit encryption for the security configuration.

", + "refs": { + "EncryptionConfiguration$inTransitEncryptionConfiguration": "

In-transit encryption-related input for the security configuration.

" + } + }, "InternalServerException": { "base": "

This is an internal server exception.

", "refs": { @@ -380,6 +433,7 @@ "ListJobRunsRequest$maxResults": "

The maximum number of job runs that can be listed.

", "ListJobTemplatesRequest$maxResults": "

The maximum number of job templates that can be listed.

", "ListManagedEndpointsRequest$maxResults": "

The maximum number of managed endpoints that can be listed.

", + "ListSecurityConfigurationsRequest$maxResults": "

The maximum number of security configurations the operation can list.

", "ListVirtualClustersRequest$maxResults": "

The maximum number of virtual clusters that can be listed.

", "RetryPolicyConfiguration$maxAttempts": "

The maximum number of attempts on the job's driver.

", "RetryPolicyExecution$currentAttemptCount": "

The current number of attempts made on the driver of the job.

" @@ -463,7 +517,14 @@ "KubernetesNamespace": { "base": null, "refs": { - "EksInfo$namespace": "

The namespaces of the Amazon EKS cluster.

" + "EksInfo$namespace": "

The namespaces of the Amazon EKS cluster.

", + "SecureNamespaceInfo$namespace": "

The namespace of the Amazon EKS cluster where the system jobs run.

" + } + }, + "LakeFormationConfiguration": { + "base": "

Lake Formation related configuration inputs for the security configuration.

", + "refs": { + "AuthorizationConfiguration$lakeFormationConfiguration": "

Lake Formation related configuration inputs for the security configuration.

" } }, "ListJobRunsRequest": { @@ -496,6 +557,16 @@ "refs": { } }, + "ListSecurityConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListSecurityConfigurationsResponse": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -549,6 +620,8 @@ "ListJobTemplatesResponse$nextToken": "

This output displays the token for the next set of job templates.

", "ListManagedEndpointsRequest$nextToken": "

The token for the next set of managed endpoints to return.

", "ListManagedEndpointsResponse$nextToken": "

The token for the next set of endpoints to return.

", + "ListSecurityConfigurationsRequest$nextToken": "

The token for the next set of security configurations to return.

", + "ListSecurityConfigurationsResponse$nextToken": "

The token for the next set of security configurations to return.

", "ListVirtualClustersRequest$nextToken": "

The token for the next set of virtual clusters to return.

", "ListVirtualClustersResponse$nextToken": "

This output displays the token for the next set of virtual clusters.

" } @@ -608,7 +681,8 @@ "base": null, "refs": { "JobRun$createdBy": "

The user who created the job run.

", - "JobTemplate$createdBy": "

The user who created the job template.

" + "JobTemplate$createdBy": "

The user who created the job template.

", + "SecurityConfiguration$createdBy": "

The user who created the job run.

" } }, "RequestThrottledException": { @@ -627,6 +701,8 @@ "CreateManagedEndpointRequest$virtualClusterId": "

The ID of the virtual cluster for which a managed endpoint is created.

", "CreateManagedEndpointResponse$id": "

The output contains the ID of the managed endpoint.

", "CreateManagedEndpointResponse$virtualClusterId": "

The output contains the ID of the virtual cluster.

", + "CreateSecurityConfigurationResponse$id": "

The ID of the security configuration.

", + "CreateVirtualClusterRequest$securityConfigurationId": "

The ID of the security configuration.

", "CreateVirtualClusterResponse$id": "

This output contains the virtual cluster ID.

", "DeleteJobTemplateRequest$id": "

The ID of the job template that will be deleted.

", "DeleteJobTemplateResponse$id": "

This output contains the ID of the job template that was deleted.

", @@ -641,6 +717,7 @@ "DescribeJobTemplateRequest$id": "

The ID of the job template that will be described.

", "DescribeManagedEndpointRequest$id": "

This output displays ID of the managed endpoint.

", "DescribeManagedEndpointRequest$virtualClusterId": "

The ID of the endpoint's virtual cluster.

", + "DescribeSecurityConfigurationRequest$id": "

The ID of the security configuration.

", "DescribeVirtualClusterRequest$id": "

The ID of the virtual cluster that will be described.

", "Endpoint$id": "

The ID of the endpoint.

", "Endpoint$virtualClusterId": "

The ID of the endpoint's virtual cluster.

", @@ -650,11 +727,13 @@ "JobTemplate$id": "

The ID of the job template.

", "ListJobRunsRequest$virtualClusterId": "

The ID of the virtual cluster for which to list the job run.

", "ListManagedEndpointsRequest$virtualClusterId": "

The ID of the virtual cluster.

", + "SecurityConfiguration$id": "

The ID of the security configuration.

", "StartJobRunRequest$virtualClusterId": "

The virtual cluster ID for which the job run request is submitted.

", "StartJobRunRequest$jobTemplateId": "

The job template ID to be used to start the job run.

", "StartJobRunResponse$id": "

This output displays the started job run ID.

", "StartJobRunResponse$virtualClusterId": "

This output displays the virtual cluster ID for which the job run was submitted.

", - "VirtualCluster$id": "

The ID of the virtual cluster.

" + "VirtualCluster$id": "

The ID of the virtual cluster.

", + "VirtualCluster$securityConfigurationId": "

The ID of the security configuration.

" } }, "ResourceNameString": { @@ -664,12 +743,15 @@ "CreateJobTemplateResponse$name": "

This output displays the name of the created job template.

", "CreateManagedEndpointRequest$name": "

The name of the managed endpoint.

", "CreateManagedEndpointResponse$name": "

The output contains the name of the managed endpoint.

", + "CreateSecurityConfigurationRequest$name": "

The name of the security configuration.

", + "CreateSecurityConfigurationResponse$name": "

The name of the security configuration.

", "CreateVirtualClusterRequest$name": "

The specified name of the virtual cluster.

", "CreateVirtualClusterResponse$name": "

This output contains the name of the virtual cluster.

", "Endpoint$name": "

The name of the endpoint.

", "JobRun$name": "

The name of the job run.

", "JobTemplate$name": "

The name of the job template.

", "ListJobRunsRequest$name": "

The name of the job run.

", + "SecurityConfiguration$name": "

The name of the security configuration.

", "StartJobRunRequest$name": "

The name of the job run.

", "StartJobRunResponse$name": "

This output displays the name of the started job run.

", "VirtualCluster$name": "

The name of the virtual cluster.

" @@ -713,12 +795,58 @@ "MonitoringConfiguration$s3MonitoringConfiguration": "

Amazon S3 configuration for monitoring log publishing.

" } }, + "SecretsManagerArn": { + "base": null, + "refs": { + "TLSCertificateConfiguration$publicCertificateSecretArn": "

Secrets Manager ARN that contains the public TLS certificate contents, used for communication between the user job and the system job.

", + "TLSCertificateConfiguration$privateCertificateSecretArn": "

Secrets Manager ARN that contains the private TLS certificate contents, used for communication between the user job and the system job.

" + } + }, + "SecureNamespaceInfo": { + "base": "

Namespace inputs for the system job.

", + "refs": { + "LakeFormationConfiguration$secureNamespaceInfo": "

The namespace input of the system job.

" + } + }, + "SecurityConfiguration": { + "base": "

Inputs related to the security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster.

", + "refs": { + "DescribeSecurityConfigurationResponse$securityConfiguration": "

Details of the security configuration.

", + "SecurityConfigurations$member": null + } + }, + "SecurityConfigurationArn": { + "base": null, + "refs": { + "CreateSecurityConfigurationResponse$arn": "

The ARN (Amazon Resource Name) of the security configuration.

", + "SecurityConfiguration$arn": "

The ARN (Amazon Resource Name) of the security configuration.

" + } + }, + "SecurityConfigurationData": { + "base": "

Configurations related to the security configuration for the request.

", + "refs": { + "CreateSecurityConfigurationRequest$securityConfigurationData": "

Security configuration input for the request.

", + "SecurityConfiguration$securityConfigurationData": "

Security configuration inputs for the request.

" + } + }, + "SecurityConfigurations": { + "base": null, + "refs": { + "ListSecurityConfigurationsResponse$securityConfigurations": "

The list of returned security configurations.

" + } + }, "SensitivePropertiesMap": { "base": null, "refs": { "Configuration$properties": "

A set of properties specified within a configuration classification.

" } }, + "SessionTagValue": { + "base": null, + "refs": { + "LakeFormationConfiguration$authorizedSessionTagValue": "

The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation.

" + } + }, "SparkSqlJobDriver": { "base": "

The job driver for job type.

", "refs": { @@ -807,6 +935,12 @@ "Endpoint$subnetIds": "

The subnet IDs of the endpoint.

" } }, + "TLSCertificateConfiguration": { + "base": "

Configurations related to the TLS certificate for the security configuration.

", + "refs": { + "InTransitEncryptionConfiguration$tlsCertificateConfiguration": "

TLS certificate-related configuration input for the security configuration.

" + } + }, "TagKeyList": { "base": null, "refs": { @@ -818,12 +952,14 @@ "refs": { "CreateJobTemplateRequest$tags": "

The tags that are associated with the job template.

", "CreateManagedEndpointRequest$tags": "

The tags of the managed endpoint.

", + "CreateSecurityConfigurationRequest$tags": "

The tags to add to the security configuration.

", "CreateVirtualClusterRequest$tags": "

The tags assigned to the virtual cluster.

", "Endpoint$tags": "

The tags of the endpoint.

", "JobRun$tags": "

The assigned tags of the job run.

", "JobTemplate$tags": "

The tags assigned to the job template.

", "JobTemplateData$jobTags": "

The tags assigned to jobs started using the job template.

", "ListTagsForResourceResponse$tags": "

The tags assigned to resources.

", + "SecurityConfiguration$tags": "

The tags to assign to the security configuration.

", "StartJobRunRequest$tags": "

The tags assigned to job runs.

", "TagResourceRequest$tags": "

The tags assigned to resources.

", "VirtualCluster$tags": "

The assigned tags of the virtual cluster.

" diff --git a/models/apis/emr-containers/2020-10-01/paginators-1.json b/models/apis/emr-containers/2020-10-01/paginators-1.json index 81c76f3fe17..c9c0edb16f2 100644 --- a/models/apis/emr-containers/2020-10-01/paginators-1.json +++ b/models/apis/emr-containers/2020-10-01/paginators-1.json @@ -18,6 +18,12 @@ "limit_key": "maxResults", "result_key": "endpoints" }, + "ListSecurityConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "securityConfigurations" + }, "ListVirtualClusters": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/entityresolution/2018-05-10/api-2.json b/models/apis/entityresolution/2018-05-10/api-2.json index 8dd10c32e68..dd474b94226 100644 --- a/models/apis/entityresolution/2018-05-10/api-2.json +++ b/models/apis/entityresolution/2018-05-10/api-2.json @@ -47,6 +47,31 @@ "shape": "AddPolicyStatementOutput" } }, + "BatchDeleteUniqueId": { + "errors": [ + { + "shape": "InternalServerException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ValidationException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/matchingworkflows/{workflowName}/uniqueids", + "responseCode": 200 + }, + "input": { + "shape": "BatchDeleteUniqueIdInput" + }, + "name": "BatchDeleteUniqueId", + "output": { + "shape": "BatchDeleteUniqueIdOutput" + } + }, "CreateIdMappingWorkflow": { "errors": [ { @@ -1196,6 +1221,57 @@ }, "type": "list" }, + "BatchDeleteUniqueIdInput": { + "members": { + "inputSource": { + "location": "header", + "locationName": "inputSource", + "shape": "BatchDeleteUniqueIdInputInputSourceString" + }, + "uniqueIds": { + "location": "header", + "locationName": "uniqueIds", + "shape": "UniqueIdList" + }, + "workflowName": { + "location": "uri", + "locationName": "workflowName", + "shape": "EntityName" + } + }, + "required": [ + "uniqueIds", + "workflowName" + ], + "type": "structure" + }, + "BatchDeleteUniqueIdInputInputSourceString": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$", + "type": "string" + }, + "BatchDeleteUniqueIdOutput": { + "members": { + "deleted": { + "shape": "DeletedUniqueIdList" + }, + "disconnectedUniqueIds": { + "shape": "DisconnectedUniqueIdsList" + }, + "errors": { + "shape": "DeleteUniqueIdErrorsList" + }, + "status": { + "shape": "DeleteUniqueIdStatus" + } + }, + "required": [ + "deleted", + "disconnectedUniqueIds", + "errors", + "status" + ], + "type": "structure" + }, "Boolean": { "box": true, "type": "boolean" @@ -1600,11 +1676,69 @@ ], "type": "structure" }, + "DeleteUniqueIdError": { + "members": { + "errorType": { + "shape": "DeleteUniqueIdErrorType" + }, + "uniqueId": { + "shape": "UniqueId" + } + }, + "required": [ + "errorType", + "uniqueId" + ], + "type": "structure" + }, + "DeleteUniqueIdErrorType": { + "enum": [ + "SERVICE_ERROR", + "VALIDATION_ERROR" + ], + "type": "string" + }, + "DeleteUniqueIdErrorsList": { + "member": { + "shape": "DeleteUniqueIdError" + }, + "type": "list" + }, + "DeleteUniqueIdStatus": { + "enum": [ + "COMPLETED", + "ACCEPTED" + ], + "type": "string" + }, + "DeletedUniqueId": { + "members": { + "uniqueId": { + "shape": "UniqueId" + } + }, + "required": [ + "uniqueId" + ], + "type": "structure" + }, + "DeletedUniqueIdList": { + "member": { + "shape": "DeletedUniqueId" + }, + "type": "list" + }, "Description": { "max": 255, "min": 0, "type": "string" }, + "DisconnectedUniqueIdsList": { + "member": { + "shape": "UniqueId" + }, + "type": "list" + }, "EntityName": { "max": 255, "min": 1, @@ -3042,7 +3176,7 @@ "RecordAttributeMapValueString": { "max": 255, "min": 0, - "pattern": "^[a-zA-Z_0-9-.@ ()+\\t]*$", + "pattern": "^[a-zA-Z_0-9-./@ ()+\\t]*$", "type": "string" }, "RequiredBucketActionsList": { @@ -3126,7 +3260,7 @@ "type": "structure" }, "RuleBasedPropertiesRulesList": { - "max": 15, + "max": 25, "member": { "shape": "Rule" }, @@ -3436,6 +3570,18 @@ "Timestamp": { "type": "timestamp" }, + "UniqueId": { + "max": 760, + "min": 1, + "pattern": "^[a-zA-Z_0-9-,]*$", + "type": "string" + }, + "UniqueIdList": { + "member": { + "shape": "UniqueId" + }, + "type": "list" + }, "UntagResourceInput": { "members": { "resourceArn": { diff --git a/models/apis/entityresolution/2018-05-10/docs-2.json b/models/apis/entityresolution/2018-05-10/docs-2.json index 6482ba0a6f7..5b841955691 100644 --- a/models/apis/entityresolution/2018-05-10/docs-2.json +++ b/models/apis/entityresolution/2018-05-10/docs-2.json @@ -3,6 +3,7 @@ "service": "

Welcome to the Entity Resolution API Reference.

Entity Resolution is an Amazon Web Services service that provides pre-configured entity resolution capabilities that enable developers and analysts at advertising and marketing companies to build an accurate and complete view of their consumers.

With Entity Resolution, you can match source records containing consumer identifiers, such as name, email address, and phone number. This is true even when these records have incomplete or conflicting identifiers. For example, Entity Resolution can effectively match a source record from a customer relationship management (CRM) system with a source record from a marketing system containing campaign information.

To learn more about Entity Resolution concepts, procedures, and best practices, see the Entity Resolution User Guide.

", "operations": { "AddPolicyStatement": "

Adds a policy statement object. To retrieve a list of existing policy statements, use the GetPolicy API.

", + "BatchDeleteUniqueId": "

Deletes multiple unique IDs in a matching workflow.

", "CreateIdMappingWorkflow": "

Creates an IdMappingWorkflow object which stores the configuration of the data processing job to be run. Each IdMappingWorkflow must have a unique workflow name. To modify an existing workflow, use the UpdateIdMappingWorkflow API.

", "CreateIdNamespace": "

Creates an ID namespace object which will help customers provide metadata explaining their dataset and how to use it. Each ID namespace must have a unique name. To modify an existing ID namespace, use the UpdateIdNamespace API.

", "CreateMatchingWorkflow": "

Creates a MatchingWorkflow object which stores the configuration of the data processing job to be run. It is important to note that there should not be a pre-existing MatchingWorkflow with the same name. To modify an existing workflow, utilize the UpdateMatchingWorkflow API.

", @@ -86,6 +87,22 @@ "ProviderIntermediateDataAccessConfiguration$awsAccountIds": "

The Amazon Web Services account that provider can use to read or write data into the customer's intermediate S3 bucket.

" } }, + "BatchDeleteUniqueIdInput": { + "base": null, + "refs": { + } + }, + "BatchDeleteUniqueIdInputInputSourceString": { + "base": null, + "refs": { + "BatchDeleteUniqueIdInput$inputSource": "

The input source for the batch delete unique ID operation.

" + } + }, + "BatchDeleteUniqueIdOutput": { + "base": null, + "refs": { + } + }, "Boolean": { "base": null, "refs": { @@ -194,6 +211,42 @@ "refs": { } }, + "DeleteUniqueIdError": { + "base": "

The Delete Unique Id error.

", + "refs": { + "DeleteUniqueIdErrorsList$member": null + } + }, + "DeleteUniqueIdErrorType": { + "base": null, + "refs": { + "DeleteUniqueIdError$errorType": "

The error type for the batch delete unique ID operation.

" + } + }, + "DeleteUniqueIdErrorsList": { + "base": null, + "refs": { + "BatchDeleteUniqueIdOutput$errors": "

The errors from deleting multiple unique IDs.

" + } + }, + "DeleteUniqueIdStatus": { + "base": null, + "refs": { + "BatchDeleteUniqueIdOutput$status": "

The status of the batch delete unique ID operation.

" + } + }, + "DeletedUniqueId": { + "base": "

The deleted unique ID.

", + "refs": { + "DeletedUniqueIdList$member": null + } + }, + "DeletedUniqueIdList": { + "base": null, + "refs": { + "BatchDeleteUniqueIdOutput$deleted": "

The unique IDs that were deleted.

" + } + }, "Description": { "base": null, "refs": { @@ -220,6 +273,12 @@ "UpdateSchemaMappingOutput$description": "

A description of the schema.

" } }, + "DisconnectedUniqueIdsList": { + "base": null, + "refs": { + "BatchDeleteUniqueIdOutput$disconnectedUniqueIds": "

The unique IDs that were disconnected.

" + } + }, "Document": { "base": null, "refs": { @@ -235,6 +294,7 @@ "EntityName": { "base": null, "refs": { + "BatchDeleteUniqueIdInput$workflowName": "

The name of the workflow.

", "CreateIdMappingWorkflowInput$workflowName": "

The name of the workflow. There can't be multiple IdMappingWorkflows with the same name.

", "CreateIdMappingWorkflowOutput$workflowName": "

The name of the workflow.

", "CreateIdNamespaceInput$idNamespaceName": "

The name of the ID namespace.

", @@ -1335,6 +1395,21 @@ "UpdateIdNamespaceOutput$updatedAt": "

The timestamp of when the ID namespace was last updated.

" } }, + "UniqueId": { + "base": null, + "refs": { + "DeleteUniqueIdError$uniqueId": "

The unique ID that could not be deleted.

", + "DeletedUniqueId$uniqueId": "

The unique ID of the deleted item.

", + "DisconnectedUniqueIdsList$member": null, + "UniqueIdList$member": null + } + }, + "UniqueIdList": { + "base": null, + "refs": { + "BatchDeleteUniqueIdInput$uniqueIds": "

The unique IDs to delete.

" + } + }, "UntagResourceInput": { "base": null, "refs": { diff --git a/models/apis/gamelift/2015-10-01/api-2.json b/models/apis/gamelift/2015-10-01/api-2.json index eb92646fd49..7be5bbbd451 100644 --- a/models/apis/gamelift/2015-10-01/api-2.json +++ b/models/apis/gamelift/2015-10-01/api-2.json @@ -77,6 +77,24 @@ {"shape":"InternalServiceException"} ] }, + "CreateContainerGroupDefinition":{ + "name":"CreateContainerGroupDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContainerGroupDefinitionInput"}, + "output":{"shape":"CreateContainerGroupDefinitionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "CreateFleet":{ "name":"CreateFleet", "http":{ @@ -88,6 +106,7 @@ "errors":[ {"shape":"InternalServiceException"}, {"shape":"NotFoundException"}, + {"shape":"NotReadyException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidRequestException"}, @@ -109,6 +128,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, + {"shape":"NotReadyException"}, {"shape":"InvalidFleetStatusException"}, {"shape":"UnsupportedRegionException"}, {"shape":"ConflictException"}, @@ -332,6 +352,22 @@ {"shape":"InvalidRequestException"} ] }, + "DeleteContainerGroupDefinition":{ + "name":"DeleteContainerGroupDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContainerGroupDefinitionInput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "DeleteFleet":{ "name":"DeleteFleet", "http":{ @@ -575,6 +611,22 @@ {"shape":"InternalServiceException"} ] }, + "DescribeContainerGroupDefinition":{ + "name":"DescribeContainerGroupDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeContainerGroupDefinitionInput"}, + "output":{"shape":"DescribeContainerGroupDefinitionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "DescribeEC2InstanceLimits":{ "name":"DescribeEC2InstanceLimits", "http":{ @@ -1074,6 +1126,21 @@ {"shape":"InternalServiceException"} ] }, + "ListContainerGroupDefinitions":{ + "name":"ListContainerGroupDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListContainerGroupDefinitionsInput"}, + "output":{"shape":"ListContainerGroupDefinitionsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "ListFleets":{ "name":"ListFleets", "http":{ @@ -1188,6 +1255,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ConflictException"}, {"shape":"InternalServiceException"}, + {"shape":"NotReadyException"}, {"shape":"LimitExceededException"} ] }, @@ -1597,7 +1665,8 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, - {"shape":"InvalidFleetStatusException"} + {"shape":"InvalidFleetStatusException"}, + {"shape":"LimitExceededException"} ] }, "UpdateScript":{ @@ -1839,13 +1908,16 @@ "CreationTime":{"shape":"Timestamp"}, "OperatingSystem":{"shape":"OperatingSystem"}, "Type":{"shape":"EC2InstanceType"}, - "GameLiftServiceSdkEndpoint":{"shape":"GameLiftServiceSdkEndpointOutput"} + "GameLiftServiceSdkEndpoint":{"shape":"GameLiftServiceSdkEndpointOutput"}, + "GameLiftAgentEndpoint":{"shape":"GameLiftAgentEndpointOutput"}, + "InstanceId":{"shape":"InstanceId"}, + "ContainerAttributes":{"shape":"ContainerAttributes"} } }, "ComputeArn":{ "type":"string", "max":1024, - "pattern":"^arn:.*:compute\\/[a-zA-Z0-9\\-]+" + "pattern":"^arn:.*:compute\\/[a-zA-Z0-9\\-]+(\\/[a-zA-Z0-9\\-]+)?" }, "ComputeAuthToken":{ "type":"string", @@ -1861,12 +1933,12 @@ "type":"string", "max":128, "min":1, - "pattern":"^[a-zA-Z0-9\\-]+" + "pattern":"^[a-zA-Z0-9\\-]+(\\/[a-zA-Z0-9\\-]+)?" }, "ComputeNameOrArn":{ "type":"string", "max":1024, - "pattern":"[a-zA-Z0-9\\-]+|^arn:.*:compute\\/[a-zA-Z0-9\\-]+" + "pattern":"^[a-zA-Z0-9\\-]+(\\/[a-zA-Z0-9\\-]+)?$|^arn:.*:compute\\/[a-zA-Z0-9\\-]+(\\/[a-zA-Z0-9\\-]+)?" }, "ComputeStatus":{ "type":"string", @@ -1880,7 +1952,8 @@ "type":"string", "enum":[ "EC2", - "ANYWHERE" + "ANYWHERE", + "CONTAINER" ] }, "ConflictException":{ @@ -1890,6 +1963,329 @@ }, "exception":true }, + "ConnectionPortRange":{ + "type":"structure", + "required":[ + "FromPort", + "ToPort" + ], + "members":{ + "FromPort":{"shape":"PortNumber"}, + "ToPort":{"shape":"PortNumber"} + } + }, + "ContainerAttributes":{ + "type":"structure", + "members":{ + "ContainerPortMappings":{"shape":"ContainerPortMappingList"} + } + }, + "ContainerCommandStringList":{ + "type":"list", + "member":{"shape":"NonZeroAnd255MaxString"}, + "max":20, + "min":1 + }, + "ContainerCpu":{ + "type":"integer", + "max":10240, + "min":1 + }, + "ContainerDefinition":{ + "type":"structure", + "required":[ + "ContainerName", + "ImageUri" + ], + "members":{ + "ContainerName":{"shape":"NonZeroAnd128MaxAsciiString"}, + "ImageUri":{"shape":"ImageUriString"}, + "ResolvedImageDigest":{"shape":"Sha256"}, + "MemoryLimits":{"shape":"ContainerMemoryLimits"}, + "PortConfiguration":{"shape":"ContainerPortConfiguration"}, + "Cpu":{"shape":"ContainerCpu"}, + "HealthCheck":{"shape":"ContainerHealthCheck"}, + "Command":{"shape":"ContainerCommandStringList"}, + "Essential":{"shape":"BooleanModel"}, + "EntryPoint":{"shape":"ContainerEntryPointList"}, + "WorkingDirectory":{"shape":"NonZeroAnd255MaxString"}, + "Environment":{"shape":"ContainerEnvironmentList"}, + "DependsOn":{"shape":"ContainerDependencyList"} + } + }, + "ContainerDefinitionInput":{ + "type":"structure", + "required":[ + "ContainerName", + "ImageUri" + ], + "members":{ + "ContainerName":{"shape":"NonZeroAnd128MaxAsciiString"}, + "ImageUri":{"shape":"ImageUriString"}, + "MemoryLimits":{"shape":"ContainerMemoryLimits"}, + "PortConfiguration":{"shape":"ContainerPortConfiguration"}, + "Cpu":{"shape":"ContainerCpu"}, + "HealthCheck":{"shape":"ContainerHealthCheck"}, + "Command":{"shape":"ContainerCommandStringList"}, + "Essential":{"shape":"BooleanModel"}, + "EntryPoint":{"shape":"ContainerEntryPointList"}, + "WorkingDirectory":{"shape":"NonZeroAnd255MaxString"}, + "Environment":{"shape":"ContainerEnvironmentList"}, + "DependsOn":{"shape":"ContainerDependencyList"} + } + }, + "ContainerDefinitionInputList":{ + "type":"list", + "member":{"shape":"ContainerDefinitionInput"}, + "max":10, + "min":1 + }, + "ContainerDefinitionList":{ + "type":"list", + "member":{"shape":"ContainerDefinition"}, + "max":10, + "min":1 + }, + "ContainerDependency":{ + "type":"structure", + "required":[ + "ContainerName", + "Condition" + ], + "members":{ + "ContainerName":{"shape":"NonZeroAnd128MaxAsciiString"}, + "Condition":{"shape":"ContainerDependencyCondition"} + } + }, + "ContainerDependencyCondition":{ + "type":"string", + "enum":[ + "START", + "COMPLETE", + "SUCCESS", + "HEALTHY" + ] + }, + "ContainerDependencyList":{ + "type":"list", + "member":{"shape":"ContainerDependency"}, + "max":10, + "min":1 + }, + "ContainerEntryPointList":{ + "type":"list", + "member":{"shape":"NonZeroAndMaxString"}, + "max":20, + "min":1 + }, + "ContainerEnvironment":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{"shape":"NonZeroAnd255MaxString"}, + "Value":{"shape":"NonZeroAnd255MaxString"} + } + }, + "ContainerEnvironmentList":{ + "type":"list", + "member":{"shape":"ContainerEnvironment"}, + "max":20, + "min":1 + }, + "ContainerGroupDefinition":{ + "type":"structure", + "members":{ + "ContainerGroupDefinitionArn":{"shape":"ContainerGroupDefinitionArn"}, + "CreationTime":{"shape":"Timestamp"}, + "OperatingSystem":{"shape":"ContainerOperatingSystem"}, + "Name":{"shape":"ContainerGroupDefinitionName"}, + "SchedulingStrategy":{"shape":"ContainerSchedulingStrategy"}, + "TotalMemoryLimit":{"shape":"ContainerTotalMemoryLimit"}, + "TotalCpuLimit":{"shape":"ContainerTotalCpuLimit"}, + "ContainerDefinitions":{"shape":"ContainerDefinitionList"}, + "Status":{"shape":"ContainerGroupDefinitionStatus"}, + "StatusReason":{"shape":"NonZeroAndMaxString"} + } + }, + "ContainerGroupDefinitionArn":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^arn:.*:containergroupdefinition\\/containergroupdefinition-[a-zA-Z0-9-]+$" + }, + "ContainerGroupDefinitionList":{ + "type":"list", + "member":{"shape":"ContainerGroupDefinition"} + }, + "ContainerGroupDefinitionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-]+$" + }, + "ContainerGroupDefinitionNameOrArn":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[a-zA-Z0-9\\-]+$|^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+$" + }, + "ContainerGroupDefinitionNameOrArnLimitedList":{ + "type":"list", + "member":{"shape":"ContainerGroupDefinitionNameOrArn"}, + "max":2, + "min":1 + }, + "ContainerGroupDefinitionPropertiesList":{ + "type":"list", + "member":{"shape":"ContainerGroupDefinitionProperty"} + }, + "ContainerGroupDefinitionProperty":{ + "type":"structure", + "members":{ + "SchedulingStrategy":{"shape":"ContainerSchedulingStrategy"}, + "ContainerGroupDefinitionName":{"shape":"ContainerGroupDefinitionName"} + } + }, + "ContainerGroupDefinitionStatus":{ + "type":"string", + "enum":[ + "READY", + "COPYING", + "FAILED" + ] + }, + "ContainerGroupsAttributes":{ + "type":"structure", + "members":{ + "ContainerGroupDefinitionProperties":{"shape":"ContainerGroupDefinitionPropertiesList"}, + "ConnectionPortRange":{"shape":"ConnectionPortRange"}, + "ContainerGroupsPerInstance":{"shape":"ContainerGroupsPerInstance"} + } + }, + "ContainerGroupsConfiguration":{ + "type":"structure", + "required":[ + "ContainerGroupDefinitionNames", + "ConnectionPortRange" + ], + "members":{ + "ContainerGroupDefinitionNames":{"shape":"ContainerGroupDefinitionNameOrArnLimitedList"}, + "ConnectionPortRange":{"shape":"ConnectionPortRange"}, + "DesiredReplicaContainerGroupsPerInstance":{"shape":"ReplicaContainerGroupsPerInstance"} + } + }, + "ContainerGroupsPerInstance":{ + "type":"structure", + "members":{ + "DesiredReplicaContainerGroupsPerInstance":{"shape":"ReplicaContainerGroupsPerInstance"}, + "MaxReplicaContainerGroupsPerInstance":{"shape":"ReplicaContainerGroupsPerInstance"} + } + }, + "ContainerHealthCheck":{ + "type":"structure", + "required":["Command"], + "members":{ + "Command":{"shape":"ContainerCommandStringList"}, + "Interval":{"shape":"ContainerHealthCheckInterval"}, + "Timeout":{"shape":"ContainerHealthCheckTimeout"}, + "Retries":{"shape":"ContainerHealthCheckRetries"}, + "StartPeriod":{"shape":"ContainerHealthCheckStartPeriod"} + } + }, + "ContainerHealthCheckInterval":{ + "type":"integer", + "max":300, + "min":60 + }, + "ContainerHealthCheckRetries":{ + "type":"integer", + "max":10, + "min":5 + }, + "ContainerHealthCheckStartPeriod":{ + "type":"integer", + "max":300, + "min":0 + }, + "ContainerHealthCheckTimeout":{ + "type":"integer", + "max":60, + "min":30 + }, + "ContainerMemoryLimit":{ + "type":"integer", + "max":1024000, + "min":4 + }, + "ContainerMemoryLimits":{ + "type":"structure", + "members":{ + "SoftLimit":{"shape":"ContainerMemoryLimit"}, + "HardLimit":{"shape":"ContainerMemoryLimit"} + } + }, + "ContainerOperatingSystem":{ + "type":"string", + "enum":["AMAZON_LINUX_2023"] + }, + "ContainerPortConfiguration":{ + "type":"structure", + "required":["ContainerPortRanges"], + "members":{ + "ContainerPortRanges":{"shape":"ContainerPortRangeList"} + } + }, + "ContainerPortMapping":{ + "type":"structure", + "members":{ + "ContainerPort":{"shape":"PortNumber"}, + "ConnectionPort":{"shape":"PortNumber"}, + "Protocol":{"shape":"IpProtocol"} + } + }, + "ContainerPortMappingList":{ + "type":"list", + "member":{"shape":"ContainerPortMapping"} + }, + "ContainerPortRange":{ + "type":"structure", + "required":[ + "FromPort", + "ToPort", + "Protocol" + ], + "members":{ + "FromPort":{"shape":"PortNumber"}, + "ToPort":{"shape":"PortNumber"}, + "Protocol":{"shape":"IpProtocol"} + } + }, + "ContainerPortRangeList":{ + "type":"list", + "member":{"shape":"ContainerPortRange"}, + "max":100, + "min":1 + }, + "ContainerSchedulingStrategy":{ + "type":"string", + "enum":[ + "REPLICA", + "DAEMON" + ] + }, + "ContainerTotalCpuLimit":{ + "type":"integer", + "max":10240, + "min":128 + }, + "ContainerTotalMemoryLimit":{ + "type":"integer", + "max":1024000, + "min":4 + }, "CreateAliasInput":{ "type":"structure", "required":[ @@ -1928,6 +2324,31 @@ "StorageLocation":{"shape":"S3Location"} } }, + "CreateContainerGroupDefinitionInput":{ + "type":"structure", + "required":[ + "Name", + "TotalMemoryLimit", + "TotalCpuLimit", + "ContainerDefinitions", + "OperatingSystem" + ], + "members":{ + "Name":{"shape":"ContainerGroupDefinitionName"}, + "SchedulingStrategy":{"shape":"ContainerSchedulingStrategy"}, + "TotalMemoryLimit":{"shape":"ContainerTotalMemoryLimit"}, + "TotalCpuLimit":{"shape":"ContainerTotalCpuLimit"}, + "ContainerDefinitions":{"shape":"ContainerDefinitionInputList"}, + "OperatingSystem":{"shape":"ContainerOperatingSystem"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateContainerGroupDefinitionOutput":{ + "type":"structure", + "members":{ + "ContainerGroupDefinition":{"shape":"ContainerGroupDefinition"} + } + }, "CreateFleetInput":{ "type":"structure", "required":["Name"], @@ -1954,7 +2375,8 @@ "Tags":{"shape":"TagList"}, "ComputeType":{"shape":"ComputeType"}, "AnywhereConfiguration":{"shape":"AnywhereConfiguration"}, - "InstanceRoleCredentialsProvider":{"shape":"InstanceRoleCredentialsProvider"} + "InstanceRoleCredentialsProvider":{"shape":"InstanceRoleCredentialsProvider"}, + "ContainerGroupsConfiguration":{"shape":"ContainerGroupsConfiguration"} } }, "CreateFleetLocationsInput":{ @@ -2239,6 +2661,13 @@ "BuildId":{"shape":"BuildIdOrArn"} } }, + "DeleteContainerGroupDefinitionInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"ContainerGroupDefinitionNameOrArn"} + } + }, "DeleteFleetInput":{ "type":"structure", "required":["FleetId"], @@ -2447,6 +2876,19 @@ "Compute":{"shape":"Compute"} } }, + "DescribeContainerGroupDefinitionInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"ContainerGroupDefinitionNameOrArn"} + } + }, + "DescribeContainerGroupDefinitionOutput":{ + "type":"structure", + "members":{ + "ContainerGroupDefinition":{"shape":"ContainerGroupDefinition"} + } + }, "DescribeEC2InstanceLimitsInput":{ "type":"structure", "members":{ @@ -3088,7 +3530,8 @@ "EventCode":{"shape":"EventCode"}, "Message":{"shape":"NonEmptyString"}, "EventTime":{"shape":"Timestamp"}, - "PreSignedLogUrl":{"shape":"NonZeroAndMaxString"} + "PreSignedLogUrl":{"shape":"NonZeroAndMaxString"}, + "Count":{"shape":"EventCount"} } }, "EventCode":{ @@ -3130,6 +3573,11 @@ "INSTANCE_RECYCLED" ] }, + "EventCount":{ + "type":"long", + "max":101, + "min":1 + }, "EventList":{ "type":"list", "member":{"shape":"Event"} @@ -3193,7 +3641,8 @@ "CertificateConfiguration":{"shape":"CertificateConfiguration"}, "ComputeType":{"shape":"ComputeType"}, "AnywhereConfiguration":{"shape":"AnywhereConfiguration"}, - "InstanceRoleCredentialsProvider":{"shape":"InstanceRoleCredentialsProvider"} + "InstanceRoleCredentialsProvider":{"shape":"InstanceRoleCredentialsProvider"}, + "ContainerGroupsAttributes":{"shape":"ContainerGroupsAttributes"} } }, "FleetAttributesList":{ @@ -3207,7 +3656,8 @@ "FleetArn":{"shape":"FleetArn"}, "InstanceType":{"shape":"EC2InstanceType"}, "InstanceCounts":{"shape":"EC2InstanceCounts"}, - "Location":{"shape":"LocationStringModel"} + "Location":{"shape":"LocationStringModel"}, + "ReplicaContainerGroupCounts":{"shape":"ReplicaContainerGroupCounts"} } }, "FleetCapacityExceededException":{ @@ -3286,6 +3736,11 @@ }, "Float":{"type":"float"}, "FreeText":{"type":"string"}, + "GameLiftAgentEndpointOutput":{ + "type":"string", + "max":128, + "min":1 + }, "GameLiftServiceSdkEndpointOutput":{ "type":"string", "max":128, @@ -3759,7 +4214,8 @@ "FleetArn":{"shape":"FleetArn"}, "ComputeName":{"shape":"ComputeNameOrArn"}, "ComputeArn":{"shape":"ComputeArn"}, - "Credentials":{"shape":"AwsCredentials"} + "Credentials":{"shape":"AwsCredentials"}, + "Target":{"shape":"SessionTarget"} } }, "GetComputeAuthTokenInput":{ @@ -3833,6 +4289,12 @@ }, "exception":true }, + "ImageUriString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9-_\\.@\\/:]+$" + }, "Instance":{ "type":"structure", "members":{ @@ -4072,11 +4534,32 @@ "NextToken":{"shape":"NonZeroAndMaxString"} } }, + "ListContainerGroupDefinitionsInput":{ + "type":"structure", + "members":{ + "SchedulingStrategy":{"shape":"ContainerSchedulingStrategy"}, + "Limit":{"shape":"ListContainerGroupDefinitionsLimit"}, + "NextToken":{"shape":"NonEmptyString"} + } + }, + "ListContainerGroupDefinitionsLimit":{ + "type":"integer", + "max":10, + "min":1 + }, + "ListContainerGroupDefinitionsOutput":{ + "type":"structure", + "members":{ + "ContainerGroupDefinitions":{"shape":"ContainerGroupDefinitionList"}, + "NextToken":{"shape":"NonEmptyString"} + } + }, "ListFleetsInput":{ "type":"structure", "members":{ "BuildId":{"shape":"BuildIdOrArn"}, "ScriptId":{"shape":"ScriptIdOrArn"}, + "ContainerGroupDefinitionName":{"shape":"ContainerGroupDefinitionNameOrArn"}, "Limit":{"shape":"PositiveInteger"}, "NextToken":{"shape":"NonZeroAndMaxString"} } @@ -4438,6 +4921,17 @@ "min":1, "pattern":"^\\d{1,5}(?:\\.\\d{1,5})?$" }, + "NonZeroAnd128MaxAsciiString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-]+$" + }, + "NonZeroAnd255MaxString":{ + "type":"string", + "max":255, + "min":1 + }, "NonZeroAndMaxString":{ "type":"string", "max":1024, @@ -4450,6 +4944,13 @@ }, "exception":true }, + "NotReadyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "exception":true + }, "OperatingSystem":{ "type":"string", "enum":[ @@ -4736,6 +5237,20 @@ "GameServer":{"shape":"GameServer"} } }, + "ReplicaContainerGroupCounts":{ + "type":"structure", + "members":{ + "PENDING":{"shape":"WholeNumber"}, + "ACTIVE":{"shape":"WholeNumber"}, + "IDLE":{"shape":"WholeNumber"}, + "TERMINATING":{"shape":"WholeNumber"} + } + }, + "ReplicaContainerGroupsPerInstance":{ + "type":"integer", + "max":5000, + "min":1 + }, "RequestUploadCredentialsInput":{ "type":"structure", "required":["BuildId"], @@ -4943,6 +5458,15 @@ "max":128, "pattern":"^\\d+\\.\\d+\\.\\d+$" }, + "SessionTarget":{ + "type":"string", + "max":400, + "min":1 + }, + "Sha256":{ + "type":"string", + "pattern":"^sha256:[a-fA-F0-9]{64}$" + }, "SnsArnStringModel":{ "type":"string", "max":300, diff --git a/models/apis/gamelift/2015-10-01/docs-2.json b/models/apis/gamelift/2015-10-01/docs-2.json index b12479c7104..ab58a446b6d 100644 --- a/models/apis/gamelift/2015-10-01/docs-2.json +++ b/models/apis/gamelift/2015-10-01/docs-2.json @@ -6,8 +6,9 @@ "ClaimGameServer": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Locates an available game server and temporarily reserves it to host gameplay and players. This operation is called from a game client or client service (such as a matchmaker) to request hosting resources for a new game session. In response, Amazon GameLift FleetIQ locates an available game server, places it in CLAIMED status for 60 seconds, and returns connection information that players can use to connect to the game server.

To claim a game server, identify a game server group. You can also specify a game server ID, although this approach bypasses Amazon GameLift FleetIQ placement optimization. Optionally, include game data to pass to the game server at the start of a game session, such as a game map or player information. Add filter options to further restrict how a game server is chosen, such as only allowing game servers on ACTIVE instances to be claimed.

When a game server is successfully claimed, connection information is returned. A claimed game server's utilization status remains AVAILABLE while the claim status is set to CLAIMED for up to 60 seconds. This time period gives the game server time to update its status to UTILIZED after players join. If the game server's status is not updated within 60 seconds, the game server reverts to unclaimed status and is available to be claimed by another request. The claim time period is a fixed value and is not configurable.

If you try to claim a specific game server, this request will fail in the following cases:

Learn more

Amazon GameLift FleetIQ Guide

", "CreateAlias": "

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. An alias provides a level of abstraction for a fleet that is useful when redirecting player traffic from one fleet to another, such as when updating your game build.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID and an ARN. You can reassign an alias to another fleet by calling UpdateAlias.

Related actions

All APIs by task

", "CreateBuild": "

Creates a new Amazon GameLift build resource for your game server binary files. Combine game server binaries into a zip file for use with Amazon GameLift.

When setting up a new game build for Amazon GameLift, we recommend using the CLI command upload-build . This helper command combines two tasks: (1) it uploads your build files from a file directory to an Amazon GameLift Amazon S3 location, and (2) it creates a new build resource.

You can use the CreateBuild operation in the following scenarios:

If successful, this operation creates a new build resource with a unique build ID and places it in INITIALIZED status. A build must be in READY status before you can create fleets with it.

Learn more

Uploading Your Game

Create a Build with Files in Amazon S3

All APIs by task

", - "CreateFleet": "

Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to host your custom game server or Realtime Servers. Use this operation to configure the computing resources for your fleet and provide instructions for running game servers on each instance.

Most Amazon GameLift fleets can deploy instances to multiple locations, including the home Region (where the fleet is created) and an optional set of remote locations. Fleets that are created in the following Amazon Web Services Regions support multiple locations: us-east-1 (N. Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt), eu-west-1 (Ireland), ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo), and ap-northeast-2 (Seoul). Fleets that are created in other Amazon GameLift Regions can deploy instances in the fleet's home Region only. All fleet instances use the same configuration regardless of location; however, you can adjust capacity settings and turn auto-scaling on/off for each location.

To create a fleet, choose the hardware for your instances, specify a game server build or Realtime script to deploy, and provide a runtime configuration to direct Amazon GameLift how to start and run game servers on each instance in the fleet. Set permissions for inbound traffic to your game servers, and enable optional features as needed. When creating a multi-location fleet, provide a list of additional remote locations.

If you need to debug your fleet, fetch logs, view performance metrics or other actions on the fleet, create the development fleet with port 22/3389 open. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished.

If successful, this operation creates a new Fleet resource and places it in NEW status, which prompts Amazon GameLift to initiate the fleet creation workflow. You can track fleet creation by checking fleet status using DescribeFleetAttributes and DescribeFleetLocationAttributes/, or by monitoring fleet creation events using DescribeFleetEvents.

When the fleet status changes to ACTIVE, you can enable automatic scaling with PutScalingPolicy and set capacity for the home Region with UpdateFleetCapacity. When the status of each remote location reaches ACTIVE, you can set capacity by location using UpdateFleetCapacity.

Learn more

Setting up fleets

Debug fleet creation issues

Multi-location fleets

", - "CreateFleetLocations": "

Adds remote locations to a fleet and begins populating the new locations with EC2 instances. The new instances conform to the fleet's instance type, auto-scaling, and other configuration settings.

This operation cannot be used with fleets that don't support remote locations. Fleets can have multiple locations only if they reside in Amazon Web Services Regions that support this feature and were created after the feature was released in March 2021.

To add fleet locations, specify the fleet to be updated and provide a list of one or more locations.

If successful, this operation returns the list of added locations with their status set to NEW. Amazon GameLift initiates the process of starting an instance in each added location. You can track the status of each new location by monitoring location creation events using DescribeFleetEvents.

Learn more

Setting up fleets

Multi-location fleets

", + "CreateContainerGroupDefinition": "

This operation is used with the Amazon GameLift containers feature, which is currently in public preview.

Creates a ContainerGroupDefinition resource that describes a set of containers for hosting your game server with Amazon GameLift managed EC2 hosting. An Amazon GameLift container group is similar to a container \"task\" and \"pod\". Each container group can have one or more containers.

Use container group definitions when you create a container fleet. Container group definitions determine how Amazon GameLift deploys your containers to each instance in a container fleet.

You can create two types of container groups, based on scheduling strategy:

To create a container group definition, specify a group name, a list of container definitions, and maximum total CPU and memory requirements for the container group. Specify an operating system and scheduling strategy or use the default values. When using the Amazon Web Services CLI tool, you can pass in your container definitions as a JSON file.

This operation requires Identity and Access Management (IAM) permissions to access container images in Amazon ECR repositories. See IAM permissions for Amazon GameLift for help setting the appropriate permissions.

If successful, this operation creates a new ContainerGroupDefinition resource with an ARN value assigned. You can't change the properties of a container group definition. Instead, create a new one.

Learn more

", + "CreateFleet": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Creates a fleet of compute resources to host your game servers. Use this operation to set up the following types of fleets based on compute type:

Managed EC2 fleet

An EC2 fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances. Your game server build is deployed to each fleet instance. Amazon GameLift manages the fleet's instances and controls the lifecycle of game server processes, which host game sessions for players. EC2 fleets can have instances in multiple locations. Each instance in the fleet is designated a Compute.

To create an EC2 fleet, provide these required parameters:

If successful, this operation creates a new fleet resource and places it in NEW status while Amazon GameLift initiates the fleet creation workflow. To debug your fleet, fetch logs, view performance metrics or other actions on the fleet, create a development fleet with port 22/3389 open. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished.

When the fleet status is ACTIVE, you can adjust capacity settings and turn autoscaling on/off for each location.

Managed container fleet

A container fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances. Your container architecture is deployed to each fleet instance based on the fleet configuration. Amazon GameLift manages the containers on each fleet instance and controls the lifecycle of game server processes, which host game sessions for players. Container fleets can have instances in multiple locations. Each container on an instance that runs game server processes is registered as a Compute.

To create a container fleet, provide these required parameters:

If successful, this operation creates a new fleet resource and places it in NEW status while Amazon GameLift initiates the fleet creation workflow.

When the fleet status is ACTIVE, you can adjust capacity settings and turn autoscaling on/off for each location.

Anywhere fleet

An Anywhere fleet represents compute resources that are not owned or managed by Amazon GameLift. You might create an Anywhere fleet with your local machine for testing, or use one to host game servers with on-premises hardware or other game hosting solutions.

To create an Anywhere fleet, provide these required parameters:

If successful, this operation creates a new fleet resource and places it in ACTIVE status. You can register computes with a fleet in ACTIVE status.

Learn more

Setting up fleets

Setting up a container fleet

Debug fleet creation issues

Multi-location fleets

", + "CreateFleetLocations": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Adds remote locations to an EC2 or container fleet and begins populating the new locations with instances. The new instances conform to the fleet's instance type, auto-scaling, and other configuration settings.

You can't add remote locations to a fleet that resides in an Amazon Web Services Region that doesn't support multiple locations. Fleets created prior to March 2021 can't support multiple locations.

To add fleet locations, specify the fleet to be updated and provide a list of one or more locations.

If successful, this operation returns the list of added locations with their status set to NEW. Amazon GameLift initiates the process of starting an instance in each added location. You can track the status of each new location by monitoring location creation events using DescribeFleetEvents.

Learn more

Setting up fleets

Multi-location fleets

", "CreateGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Creates a Amazon GameLift FleetIQ game server group for managing game hosting on a collection of Amazon Elastic Compute Cloud instances for game hosting. This operation creates the game server group, creates an Auto Scaling group in your Amazon Web Services account, and establishes a link between the two groups. You can view the status of your game server groups in the Amazon GameLift console. Game server group metrics and events are emitted to Amazon CloudWatch.

Before creating a new game server group, you must have the following:

To create a new game server group, specify a unique group name, IAM role and Amazon Elastic Compute Cloud launch template, and provide a list of instance types that can be used in the group. You must also set initial maximum and minimum limits on the group's instance count. You can optionally set an Auto Scaling policy with target tracking based on a Amazon GameLift FleetIQ metric.

Once the game server group and corresponding Auto Scaling group are created, you have full access to change the Auto Scaling group's configuration as needed. Several properties that are set when creating a game server group, including maximum/minimum size and auto-scaling policy settings, must be updated directly in the Auto Scaling group. Keep in mind that some Auto Scaling group properties are periodically updated by Amazon GameLift FleetIQ as part of its balancing activities to optimize for availability and cost.

Learn more

Amazon GameLift FleetIQ Guide

", "CreateGameSession": "

Creates a multiplayer game session for players in a specific fleet location. This operation prompts an available server process to start a game session and retrieves connection information for the new game session. As an alternative, consider using the Amazon GameLift game session placement feature with StartGameSessionPlacement , which uses the FleetIQ algorithm and queues to optimize the placement process.

When creating a game session, you specify exactly where you want to place it and provide a set of game session configuration settings. The target fleet must be in ACTIVE status.

You can use this operation in the following ways:

If successful, Amazon GameLift initiates a workflow to start a new game session and returns a GameSession object containing the game session configuration and status. When the game session status is ACTIVE, it is updated with connection information and you can create player sessions for the game session. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Amazon GameLift retains logs for active for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

Learn more

Start a game session

All APIs by task

", "CreateGameSessionQueue": "

Creates a placement queue that processes requests for new game sessions. A queue uses FleetIQ algorithms to determine the best placement locations and find an available game server there, then prompts the game server process to start a new game session.

A game session queue is configured with a set of destinations (Amazon GameLift fleets or aliases), which determine the locations where the queue can place new game sessions. These destinations can span multiple fleet types (Spot and On-Demand), instance types, and Amazon Web Services Regions. If the queue includes multi-location fleets, the queue is able to place game sessions in all of a fleet's remote locations. You can opt to filter out individual locations if needed.

The queue configuration also determines how FleetIQ selects the best available placement for a new game session. Before searching for an available game server, FleetIQ first prioritizes the queue's destinations and locations, with the best placement locations on top. You can set up the queue to use the FleetIQ default prioritization or provide an alternate set of priorities.

To create a new queue, provide a name, timeout value, and a list of destinations. Optionally, specify a sort configuration and/or a filter, and define a set of latency cap policies. You can also include the ARN for an Amazon Simple Notification Service (SNS) topic to receive notifications of game session placement activity. Notifications using SNS or CloudWatch events is the preferred way to track placement activity.

If successful, a new GameSessionQueue object is returned with an assigned queue ARN. New game session requests, which are submitted to queue with StartGameSessionPlacement or StartMatchmaking, reference a queue's name or ARN.

Learn more

Design a game session queue

Create a game session queue

Related actions

CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task

", @@ -21,7 +22,8 @@ "CreateVpcPeeringConnection": "

Establishes a VPC peering connection between a virtual private cloud (VPC) in an Amazon Web Services account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other Amazon Web Services resources. You can peer with VPCs in any Amazon Web Services account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to use CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the Amazon Web Services account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The Amazon Web Services account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a connection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections , or by monitoring fleet events for success or failure using DescribeFleetEvents .

Related actions

All APIs by task

", "DeleteAlias": "

Deletes an alias. This operation removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

Related actions

All APIs by task

", "DeleteBuild": "

Deletes a build. This operation permanently deletes the build resource and any uploaded build files. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

To delete a build, specify the build ID.

Learn more

Upload a Custom Server Build

All APIs by task

", - "DeleteFleet": "

Deletes all resources and information related a fleet. Any current fleet instances, including those in remote locations, are shut down. You don't need to call DeleteFleetLocations separately.

If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. You do not need to explicitly delete the VPC peering connection.

To delete a fleet, specify the fleet ID to be terminated. During the deletion process the fleet status is changed to DELETING. When completed, the status switches to TERMINATED and the fleet event FLEET_DELETED is sent.

Learn more

Setting up Amazon GameLift Fleets

", + "DeleteContainerGroupDefinition": "

This operation is used with the Amazon GameLift containers feature, which is currently in public preview.

Deletes a container group definition resource. You can delete a container group definition if there are no fleets using the definition.

To delete a container group definition, identify the resource to delete.

Learn more

", + "DeleteFleet": "

Deletes all resources and information related to a fleet and shuts down any currently running fleet instances, including those in remote locations.

If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. You don't need to explicitly delete the VPC peering connection.

To delete a fleet, specify the fleet ID to be terminated. During the deletion process, the fleet status is changed to DELETING. When completed, the status switches to TERMINATED and the fleet event FLEET_DELETED is emitted.

Learn more

Setting up Amazon GameLift Fleets

", "DeleteFleetLocations": "

Removes locations from a multi-location fleet. When deleting a location, all game server process and all instances that are still active in the location are shut down.

To delete fleet locations, identify the fleet ID and provide a list of the locations to be deleted.

If successful, GameLift sets the location status to DELETING, and begins to shut down existing server processes and terminate instances in each location being deleted. When completed, the location status changes to TERMINATED.

Learn more

Setting up Amazon GameLift fleets

", "DeleteGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Terminates a game server group and permanently deletes the game server group record. You have several options for how these resources are impacted when deleting the game server group. Depending on the type of delete operation selected, this operation might affect these resources:

To delete a game server group, identify the game server group to delete and specify the type of delete operation to initiate. Game server groups can only be deleted if they are in ACTIVE or ERROR status.

If the delete request is successful, a series of operations are kicked off. The game server group status is changed to DELETE_SCHEDULED, which prevents new game servers from being registered and stops automatic scaling activity. Once all game servers in the game server group are deregistered, Amazon GameLift FleetIQ can begin deleting resources. If any of the delete operations fail, the game server group is placed in ERROR status.

Amazon GameLift FleetIQ emits delete events to Amazon CloudWatch.

Learn more

Amazon GameLift FleetIQ Guide

", "DeleteGameSessionQueue": "

Deletes a game session queue. Once a queue is successfully deleted, unfulfilled StartGameSessionPlacement requests that reference the queue will fail. To delete a queue, specify the queue name.

", @@ -32,19 +34,20 @@ "DeleteScript": "

Deletes a Realtime script. This operation permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted).

To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions.

Learn more

Amazon GameLift Realtime Servers

Related actions

All APIs by task

", "DeleteVpcPeeringAuthorization": "

Cancels a pending VPC peering authorization for the specified VPC. If you need to delete an existing VPC peering connection, use DeleteVpcPeeringConnection.

Related actions

All APIs by task

", "DeleteVpcPeeringConnection": "

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete..

Once a valid authorization exists, call this operation from the Amazon Web Services account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

Related actions

All APIs by task

", - "DeregisterCompute": "

Removes a compute resource from an Amazon GameLift Anywhere fleet. Deregistered computes can no longer host game sessions through Amazon GameLift.

", + "DeregisterCompute": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Removes a compute resource from an Amazon GameLift Anywhere fleet or container fleet. Deregistered computes can no longer host game sessions through Amazon GameLift.

For an Anywhere fleet or a container fleet that's running the Amazon GameLift Agent, the Agent handles all compute registry tasks for you. For an Anywhere fleet that doesn't use the Agent, call this operation to deregister fleet computes.

To deregister a compute, call this operation from the compute that's being deregistered and specify the compute name and the fleet ID.

", "DeregisterGameServer": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Removes the game server from a game server group. As a result of this operation, the deregistered game server can no longer be claimed and will not be returned in a list of active game servers.

To deregister a game server, specify the game server group and game server ID. If successful, this operation emits a CloudWatch event with termination timestamp and reason.

Learn more

Amazon GameLift FleetIQ Guide

", "DescribeAlias": "

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

Related actions

All APIs by task

", "DescribeBuild": "

Retrieves properties for a custom game build. To request a build resource, specify a build ID. If successful, an object containing the build properties is returned.

Learn more

Upload a Custom Server Build

All APIs by task

", - "DescribeCompute": "

Retrieves properties for a compute resource in an Amazon GameLift fleet. Call ListCompute to get a list of compute resources in a fleet. You can request information for computes in either managed EC2 fleets or Anywhere fleets.

To request compute properties, specify the compute name and fleet ID.

If successful, this operation returns details for the requested compute resource. For managed EC2 fleets, this operation returns the fleet's EC2 instances. For Anywhere fleets, this operation returns the fleet's registered computes.

", + "DescribeCompute": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves properties for a compute resource in an Amazon GameLift fleet. To get a list of all computes in a fleet, call ListCompute.

To request information on a specific compute, provide the fleet ID and compute name.

If successful, this operation returns details for the requested compute resource. Depending on the fleet's compute type, the result includes the following information:

", + "DescribeContainerGroupDefinition": "

This operation is used with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves the properties of a container group definition, including all container definitions in the group.

To retrieve a container group definition, provide a resource identifier. If successful, this operation returns the complete properties of the container group definition.

Learn more

", "DescribeEC2InstanceLimits": "

Retrieves the instance limits and current utilization for an Amazon Web Services Region or location. Instance limits control the number of instances, per instance type, per location, that your Amazon Web Services account can use. Learn more at Amazon EC2 Instance Types. The information returned includes the maximum number of instances allowed and your account's current usage across all fleets. This information can affect your ability to scale your Amazon GameLift fleets. You can request a limit increase for your account by using the Service limits page in the Amazon GameLift console.

Instance limits differ based on whether the instances are deployed in a fleet's home Region or in a remote location. For remote locations, limits also differ based on the combination of home Region and remote location. All requests must specify an Amazon Web Services Region (either explicitly or as your default settings). To get the limit for a remote location, you must also specify the location. For example, the following requests all return different results:

This operation can be used in the following ways:

If successful, an EC2InstanceLimits object is returned with limits and usage data for each requested instance type.

Learn more

Setting up Amazon GameLift fleets

", - "DescribeFleetAttributes": "

Retrieves core fleet-wide properties, including the computing hardware and deployment configuration for all instances in the fleet.

This operation can be used in the following ways:

When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetAttributes object is returned for each fleet requested, unless the fleet identifier is not found.

Some API operations limit the number of fleet IDs that allowed in one request. If a request exceeds this limit, the request fails and the error message contains the maximum allowed number.

Learn more

Setting up Amazon GameLift fleets

", - "DescribeFleetCapacity": "

Retrieves the resource capacity settings for one or more fleets. The data returned includes the current fleet capacity (number of EC2 instances), and settings that can control how capacity scaling. For fleets with remote locations, this operation retrieves data for the fleet's home Region only.

This operation can be used in the following ways:

When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetCapacity object is returned for each requested fleet ID. Each FleetCapacity object includes a Location property, which is set to the fleet's home Region. When a list of fleet IDs is provided, attribute objects are returned only for fleets that currently exist.

Some API operations may limit the number of fleet IDs that are allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Setting up Amazon GameLift fleets

GameLift metrics for fleets

", + "DescribeFleetAttributes": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves core fleet-wide properties for fleets in an Amazon Web Services Region. Properties include the computing hardware and deployment configuration for instances in the fleet.

You can use this operation in the following ways:

When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetAttributes object is returned for each fleet requested, unless the fleet identifier is not found.

Some API operations limit the number of fleet IDs that allowed in one request. If a request exceeds this limit, the request fails and the error message contains the maximum allowed number.

Learn more

Setting up Amazon GameLift fleets

", + "DescribeFleetCapacity": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves the resource capacity settings for one or more fleets. For a container fleet, this operation also returns counts for replica container groups.

With multi-location fleets, this operation retrieves data for the fleet's home Region only. To retrieve capacity for remote locations, see DescribeFleetLocationCapacity.

This operation can be used in the following ways:

When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetCapacity object is returned for each requested fleet ID. Each FleetCapacity object includes a Location property, which is set to the fleet's home Region. Capacity values are returned only for fleets that currently exist.

Some API operations may limit the number of fleet IDs that are allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Setting up Amazon GameLift fleets

GameLift metrics for fleets

", "DescribeFleetEvents": "

Retrieves entries from a fleet's event log. Fleet events are initiated by changes in status, such as during fleet creation and termination, changes in capacity, etc. If a fleet has multiple locations, events are also initiated by changes to status and capacity in remote locations.

You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a collection of event log entries matching the request are returned.

Learn more

Setting up Amazon GameLift fleets

", "DescribeFleetLocationAttributes": "

Retrieves information on a fleet's remote locations, including life-cycle status and any suspended fleet activity.

This operation can be used in the following ways:

When requesting attributes for multiple locations, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a LocationAttributes object is returned for each requested location. If the fleet does not have a requested location, no information is returned. This operation does not return the home Region. To get information on a fleet's home Region, call DescribeFleetAttributes.

Learn more

Setting up Amazon GameLift fleets

", - "DescribeFleetLocationCapacity": "

Retrieves the resource capacity settings for a fleet location. The data returned includes the current capacity (number of EC2 instances) and some scaling settings for the requested fleet location. Use this operation to retrieve capacity information for a fleet's remote location or home Region (you can also retrieve home Region capacity by calling DescribeFleetCapacity).

To retrieve capacity data, identify a fleet and location.

If successful, a FleetCapacity object is returned for the requested fleet location.

Learn more

Setting up Amazon GameLift fleets

GameLift metrics for fleets

", + "DescribeFleetLocationCapacity": "

Retrieves the resource capacity settings for a fleet location. The data returned includes the current capacity (number of EC2 instances) and some scaling settings for the requested fleet location. For a container fleet, this operation also returns counts for replica container groups.

Use this operation to retrieve capacity information for a fleet's remote location or home Region (you can also retrieve home Region capacity by calling DescribeFleetCapacity).

To retrieve capacity data, identify a fleet and location.

If successful, a FleetCapacity object is returned for the requested fleet location.

Learn more

Setting up Amazon GameLift fleets

GameLift metrics for fleets

", "DescribeFleetLocationUtilization": "

Retrieves current usage data for a fleet location. Utilization data provides a snapshot of current game hosting activity at the requested location. Use this operation to retrieve utilization information for a fleet's remote location or home Region (you can also retrieve home Region utilization by calling DescribeFleetUtilization).

To retrieve utilization data, identify a fleet and location.

If successful, a FleetUtilization object is returned for the requested fleet location.

Learn more

Setting up Amazon GameLift fleets

GameLift metrics for fleets

", - "DescribeFleetPortSettings": "

Retrieves a fleet's inbound connection permissions. Connection permissions specify the range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. Game sessions that are running on instances in the fleet must use connections that fall in this range.

This operation can be used in the following ways:

If successful, a set of IpPermission objects is returned for the requested fleet ID. When a location is specified, a pending status is included. If the requested fleet has been deleted, the result set is empty.

Learn more

Setting up Amazon GameLift fleets

", + "DescribeFleetPortSettings": "

Retrieves a fleet's inbound connection permissions. Connection permissions specify IP addresses and port settings that incoming traffic can use to access server processes in the fleet. Game server processes that are running in the fleet must use a port that falls within this range. To connect to game server processes on a container fleet, the port settings should include one or more of the fleet's connection ports.

Use this operation in the following ways:

If successful, a set of IpPermission objects is returned for the requested fleet ID. When specifying a location, this operation returns a pending status. If the requested fleet has been deleted, the result set is empty.

Learn more

Setting up Amazon GameLift fleets

", "DescribeFleetUtilization": "

Retrieves utilization statistics for one or more fleets. Utilization data provides a snapshot of how the fleet's hosting resources are currently being used. For fleets with remote locations, this operation retrieves data for the fleet's home Region only. See DescribeFleetLocationUtilization to get utilization statistics for a fleet's remote locations.

This operation can be used in the following ways:

When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a FleetUtilization object is returned for each requested fleet ID, unless the fleet identifier is not found. Each fleet utilization object includes a Location property, which is set to the fleet's home Region.

Some API operations may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Setting up Amazon GameLift Fleets

GameLift Metrics for Fleets

", "DescribeGameServer": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Retrieves information for a registered game server. Information includes game server status, health check info, and the instance that the game server is running on.

To retrieve game server information, specify the game server ID. If successful, the requested game server object is returned.

Learn more

Amazon GameLift FleetIQ Guide

", "DescribeGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Retrieves information on a game server group. This operation returns only properties related to Amazon GameLift FleetIQ. To view or update properties for the corresponding Auto Scaling group, such as launch template, auto scaling policies, and maximum/minimum group size, access the Auto Scaling group directly.

To get attributes for a game server group, provide a group name or ARN value. If successful, a GameServerGroup object is returned.

Learn more

Amazon GameLift FleetIQ Guide

", @@ -58,52 +61,53 @@ "DescribeMatchmakingConfigurations": "

Retrieves the details of FlexMatch matchmaking configurations.

This operation offers the following options: (1) retrieve all matchmaking configurations, (2) retrieve configurations for a specified list, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Learn more

Setting up FlexMatch matchmakers

", "DescribeMatchmakingRuleSets": "

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Learn more

", "DescribePlayerSessions": "

Retrieves properties for one or more player sessions.

This action can be used in the following ways:

To request player sessions, specify either a player session ID, game session ID, or player ID. You can filter this request by player session status. If you provide a specific PlayerSessionId or PlayerId, Amazon GameLift ignores the filter criteria. Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a PlayerSession object is returned for each session that matches the request.

Related actions

All APIs by task

", - "DescribeRuntimeConfiguration": "

Retrieves a fleet's runtime configuration settings. The runtime configuration tells Amazon GameLift which server processes to run (and how) on each instance in the fleet.

To get the runtime configuration that is currently in forces for a fleet, provide the fleet ID.

If successful, a RuntimeConfiguration object is returned for the requested fleet. If the requested fleet has been deleted, the result set is empty.

Learn more

Setting up Amazon GameLift fleets

Running multiple processes on a fleet

", + "DescribeRuntimeConfiguration": "

Retrieves a fleet's runtime configuration settings. The runtime configuration determines which server processes run, and how, on computes in the fleet. For managed EC2 fleets, the runtime configuration describes server processes that run on each fleet instance. For container fleets, the runtime configuration describes server processes that run in each replica container group. You can update a fleet's runtime configuration at any time using UpdateRuntimeConfiguration.

To get the current runtime configuration for a fleet, provide the fleet ID.

If successful, a RuntimeConfiguration object is returned for the requested fleet. If the requested fleet has been deleted, the result set is empty.

Learn more

Setting up Amazon GameLift fleets

Running multiple processes on a fleet

", "DescribeScalingPolicies": "

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

A fleet may have all of its scaling policies suspended. This operation does not affect the status of the scaling policies, which remains ACTIVE.

", "DescribeScript": "

Retrieves properties for a Realtime script.

To request a script record, specify the script ID. If successful, an object containing the script properties is returned.

Learn more

Amazon GameLift Realtime Servers

Related actions

All APIs by task

", "DescribeVpcPeeringAuthorizations": "

Retrieves valid VPC peering authorizations that are pending for the Amazon Web Services account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

Related actions

All APIs by task

", "DescribeVpcPeeringConnections": "

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the Amazon Web Services account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

Related actions

All APIs by task

", - "GetComputeAccess": "

Requests authorization to remotely connect to a compute resource in an Amazon GameLift fleet. Call this action to connect to an instance in a managed EC2 fleet if the fleet's game build uses Amazon GameLift server SDK 5.x or later. To connect to instances with game builds that use server SDK 4.x or earlier, call GetInstanceAccess.

To request access to a compute, identify the specific EC2 instance and the fleet it belongs to. You can retrieve instances for a managed EC2 fleet by calling ListCompute.

If successful, this operation returns a set of temporary Amazon Web Services credentials, including a two-part access key and a session token. Use these credentials with Amazon EC2 Systems Manager (SSM) to start a session with the compute. For more details, see Starting a session (CLI) in the Amazon EC2 Systems Manager User Guide.

Learn more

Remotely connect to fleet instances

Debug fleet issues

", - "GetComputeAuthToken": "

Requests an authentication token from Amazon GameLift for a registered compute in an Anywhere fleet. The game servers that are running on the compute use this token to authenticate with the Amazon GameLift service. Each server process must provide a valid authentication token in its call to the Amazon GameLift server SDK action InitSDK().

Authentication tokens are valid for a limited time span. Use a mechanism to regularly request a fresh authentication token before the current token expires.

Learn more

", + "GetComputeAccess": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Requests authorization to remotely connect to a hosting resource in a Amazon GameLift managed fleet. This operation is not used with Amazon GameLift Anywhere fleets

To request access, specify the compute name and the fleet ID. If successful, this operation returns a set of temporary Amazon Web Services credentials, including a two-part access key and a session token.

EC2 fleets

With an EC2 fleet (where compute type is EC2), use these credentials with Amazon EC2 Systems Manager (SSM) to start a session with the compute. For more details, see Starting a session (CLI) in the Amazon EC2 Systems Manager User Guide.

Container fleets

With a container fleet (where compute type is CONTAINER), use these credentials and the target value with SSM to connect to the fleet instance where the container is running. After you're connected to the instance, use Docker commands to interact with the container.

Learn more

", + "GetComputeAuthToken": "

Requests an authentication token from Amazon GameLift for a compute resource in an Amazon GameLift Anywhere fleet or container fleet. Game servers that are running on the compute use this token to communicate with the Amazon GameLift service, such as when calling the Amazon GameLift server SDK action InitSDK(). Authentication tokens are valid for a limited time span, so you need to request a fresh token before the current token expires.

Use this operation based on the fleet compute type:

Learn more

", "GetGameSessionLogUrl": "

Retrieves the location of stored game session logs for a specified game session on Amazon GameLift managed fleets. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.

See the Amazon Web Services Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

All APIs by task

", "GetInstanceAccess": "

Requests authorization to remotely connect to an instance in an Amazon GameLift managed fleet. Use this operation to connect to instances with game servers that use Amazon GameLift server SDK 4.x or earlier. To connect to instances with game servers that use server SDK 5.x or later, call GetComputeAccess.

To request access to an instance, specify IDs for the instance and the fleet it belongs to. You can retrieve instance IDs for a fleet by calling DescribeInstances with the fleet ID.

If successful, this operation returns an IP address and credentials. The returned credentials match the operating system of the instance, as follows:

Learn more

Remotely connect to fleet instances

Debug fleet issues

Related actions

All APIs by task

", "ListAliases": "

Retrieves all aliases for this Amazon Web Services account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Returned aliases are not listed in any particular order.

Related actions

All APIs by task

", "ListBuilds": "

Retrieves build resources for all builds associated with the Amazon Web Services account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build resources are not listed in any particular order.

Learn more

Upload a Custom Server Build

All APIs by task

", - "ListCompute": "

Retrieves the compute resources in an Amazon GameLift fleet. You can request information for either managed EC2 fleets or Anywhere fleets.

To request a list of computes, specify the fleet ID. You can filter the result set by location. Use the pagination parameters to retrieve results in a set of sequential pages.

If successful, this operation returns the compute resource for the requested fleet. For managed EC2 fleets, it returns a list of EC2 instances. For Anywhere fleets, it returns a list of registered compute names.

", - "ListFleets": "

Retrieves a collection of fleet resources in an Amazon Web Services Region. You can call this operation to get fleets in a previously selected default Region (see https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.htmlor specify a Region in your request. You can filter the result set to find only those fleets that are deployed with a specific build or script. For fleets that have multiple locations, this operation retrieves fleets based on their home Region only.

This operation can be used in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a list of fleet IDs that match the request parameters is returned. A NextToken value is also returned if there are more result pages to retrieve.

Fleet resources are not listed in a particular order.

Learn more

Setting up Amazon GameLift fleets

", + "ListCompute": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves information on the compute resources in an Amazon GameLift fleet.

To request a list of computes, specify the fleet ID. Use the pagination parameters to retrieve results in a set of sequential pages.

You can filter the result set by location.

If successful, this operation returns information on all computes in the requested fleet. Depending on the fleet's compute type, the result includes the following information:

", + "ListContainerGroupDefinitions": "

This operation is used with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves all container group definitions for the Amazon Web Services account and Amazon Web Services Region that are currently in use. You can filter the result set by the container groups' scheduling strategy. Use the pagination parameters to retrieve results in a set of sequential pages.

This operation returns the list of container group definitions in no particular order.

Learn more

", + "ListFleets": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Retrieves a collection of fleet resources in an Amazon Web Services Region. You can filter the result set to find only those fleets that are deployed with a specific build or script. For fleets that have multiple locations, this operation retrieves fleets based on their home Region only.

You can use operation in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, this operation returns a list of fleet IDs that match the request parameters. A NextToken value is also returned if there are more result pages to retrieve.

Fleet IDs are returned in no particular order.

", "ListGameServerGroups": "

Lists a game server groups.

", "ListGameServers": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Retrieves information on all game servers that are currently active in a specified game server group. You can opt to sort the list by game server age. Use the pagination parameters to retrieve results in a set of sequential segments.

Learn more

Amazon GameLift FleetIQ Guide

", "ListLocations": "

Lists all custom and Amazon Web Services locations.

", "ListScripts": "

Retrieves script records for all Realtime scripts that are associated with the Amazon Web Services account in use.

Learn more

Amazon GameLift Realtime Servers

Related actions

All APIs by task

", "ListTagsForResource": "

Retrieves all tags assigned to a Amazon GameLift resource. Use resource tags to organize Amazon Web Services resources for a range of purposes. This operation handles the permissions necessary to manage tags for Amazon GameLift resources that support tagging.

To list tags for a resource, specify the unique ARN value for the resource.

Learn more

Tagging Amazon Web Services Resources in the Amazon Web Services General Reference

Amazon Web Services Tagging Strategies

Related actions

All APIs by task

", "PutScalingPolicy": "

Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling.

Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.

Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling.

Target-based policy

A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target.

For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer.

To create or update a target-based policy, specify a fleet ID and name, and set the policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Rule-based policy

A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action.

For example, a policy may make the following statement: \"If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%.\"

A policy's rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

To implement the example, the rule statement would look like this:

If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

", - "RegisterCompute": "

Registers a compute resource to an Amazon GameLift Anywhere fleet. With Anywhere fleets you can incorporate your own computing hardware into an Amazon GameLift game hosting solution.

To register a compute to a fleet, give the compute a name (must be unique within the fleet) and specify the compute resource's DNS name or IP address. Provide the Anywhere fleet ID and a fleet location to associate with the compute being registered. You can optionally include the path to a TLS certificate on the compute resource.

If successful, this operation returns the compute details, including an Amazon GameLift SDK endpoint. Game server processes that run on the compute use this endpoint to communicate with the Amazon GameLift service. Each server process includes the SDK endpoint in its call to the Amazon GameLift server SDK action InitSDK().

Learn more

", + "RegisterCompute": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Registers a compute resource in an Amazon GameLift fleet. Register computes with an Amazon GameLift Anywhere fleet or a container fleet.

For an Anywhere fleet or a container fleet that's running the Amazon GameLift Agent, the Agent handles all compute registry tasks for you. For an Anywhere fleet that doesn't use the Agent, call this operation to register fleet computes.

To register a compute, give the compute a name (must be unique within the fleet) and specify the compute resource's DNS name or IP address. Provide a fleet ID and a fleet location to associate with the compute being registered. You can optionally include the path to a TLS certificate on the compute resource.

If successful, this operation returns compute details, including an Amazon GameLift SDK endpoint or Agent endpoint. Game server processes running on the compute can use this endpoint to communicate with the Amazon GameLift service. Each server process includes the SDK endpoint in its call to the Amazon GameLift server SDK action InitSDK().

To view compute details, call DescribeCompute with the compute name.

Learn more

", "RegisterGameServer": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Creates a new game server resource and notifies Amazon GameLift FleetIQ that the game server is ready to host gameplay and players. This operation is called by a game server process that is running on an instance in a game server group. Registering game servers enables Amazon GameLift FleetIQ to track available game servers and enables game clients and services to claim a game server for a new game session.

To register a game server, identify the game server group and instance where the game server is running, and provide a unique identifier for the game server. You can also include connection and game server data.

Once a game server is successfully registered, it is put in status AVAILABLE. A request to register a game server may fail if the instance it is running on is in the process of shutting down as part of instance balancing or scale-down activity.

Learn more

Amazon GameLift FleetIQ Guide

", - "RequestUploadCredentials": "

Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see GameSession.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

Learn more

Create a Build with Files in S3

All APIs by task

", - "ResolveAlias": "

Retrieves the fleet ID that an alias is currently pointing to.

Related actions

All APIs by task

", + "RequestUploadCredentials": "

Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

Learn more

Create a Build with Files in S3

All APIs by task

", + "ResolveAlias": "

Attempts to retrieve a fleet ID that is associated with an alias. Specify a unique alias identifier.

If the alias has a SIMPLE routing strategy, Amazon GameLift returns a fleet ID. If the alias has a TERMINAL routing strategy, the result is a TerminalRoutingStrategyException.

Related actions

All APIs by task

", "ResumeGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Reinstates activity on a game server group after it has been suspended. A game server group might be suspended by the SuspendGameServerGroup operation, or it might be suspended involuntarily due to a configuration problem. In the second case, you can manually resume activity on the group once the configuration problem has been resolved. Refer to the game server group status and status reason for more information on why group activity is suspended.

To resume activity, specify a game server group ARN and the type of activity to be resumed. If successful, a GameServerGroup object is returned showing that the resumed activity is no longer listed in SuspendedActions.

Learn more

Amazon GameLift FleetIQ Guide

", - "SearchGameSessions": "

Retrieves all active game sessions that match a set of search criteria and sorts them into a specified order.

This operation is not designed to continually track game session status because that practice can cause you to exceed your API limit and generate errors. Instead, configure an Amazon Simple Notification Service (Amazon SNS) topic to receive notifications from a matchmaker or game session placement queue.

When searching for game sessions, you specify exactly where you want to search and provide a search filter expression, a sort expression, or both. A search request can search only one fleet, but it can search all of a fleet's locations.

This operation can be used in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a GameSession object is returned for each game session that matches the request. Search finds game sessions that are in ACTIVE status only. To retrieve information on game sessions in other statuses, use DescribeGameSessions .

To set search and sort criteria, create a filter expression using the following game session attributes. For game session search examples, see the Examples section of this topic.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

All APIs by task

", + "SearchGameSessions": "

Retrieves all active game sessions that match a set of search criteria and sorts them into a specified order.

This operation is not designed to continually track game session status because that practice can cause you to exceed your API limit and generate errors. Instead, configure an Amazon Simple Notification Service (Amazon SNS) topic to receive notifications from a matchmaker or a game session placement queue.

When searching for game sessions, you specify exactly where you want to search and provide a search filter expression, a sort expression, or both. A search request can search only one fleet, but it can search all of a fleet's locations.

This operation can be used in the following ways:

Use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a GameSession object is returned for each game session that matches the request. Search finds game sessions that are in ACTIVE status only. To retrieve information on game sessions in other statuses, use DescribeGameSessions .

To set search and sort criteria, create a filter expression using the following game session attributes. For game session search examples, see the Examples section of this topic.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

All APIs by task

", "StartFleetActions": "

Resumes certain types of activity on fleet instances that were suspended with StopFleetActions. For multi-location fleets, fleet actions are managed separately for each location. Currently, this operation is used to restart a fleet's auto-scaling activity.

This operation can be used in the following ways:

If successful, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet location were never stopped, this operation will have no effect.

Learn more

Setting up Amazon GameLift fleets

", "StartGameSessionPlacement": "

Places a request for a new game session in a queue. When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant Regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a Region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each Region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and Region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

", "StartMatchBackfill": "

Finds new players to fill open slots in currently running game sessions. The backfill match process is essentially identical to the process of forming new matches. Backfill requests use the same matchmaker that was used to make the original match, and they provide matchmaking data for all players currently in the game session. FlexMatch uses this information to select new players so that backfilled match continues to meet the original match requirements.

When using FlexMatch with Amazon GameLift managed hosting, you can request a backfill match from a client service by calling this operation with a GameSessions ID. You also have the option of making backfill requests directly from your game server. In response to a request, FlexMatch creates player sessions for the new players, updates the GameSession resource, and sends updated matchmaking data to the game server. You can request a backfill match at any point after a game session is started. Each game session can have only one active backfill request at a time; a subsequent request automatically replaces the earlier request.

When using FlexMatch as a standalone component, request a backfill match by calling this operation without a game session identifier. As with newly formed matches, matchmaking results are returned in a matchmaking event so that your game can update the game session that is being backfilled.

To request a backfill match, specify a unique ticket ID, the original matchmaking configuration, and matchmaking data for all current players in the game session being backfilled. Optionally, specify the GameSession ARN. If successful, a match backfill ticket is created and returned with status set to QUEUED. Track the status of backfill tickets using the same method for tracking tickets for new matches.

Only game sessions created by FlexMatch are supported for match backfill.

Learn more

Backfill existing games with FlexMatch

Matchmaking events (reference)

How Amazon GameLift FlexMatch works

", "StartMatchmaking": "

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules. With games that use Amazon GameLift managed hosting, this operation also triggers Amazon GameLift to find hosting resources and start a new game session for the new match. Each matchmaking request includes information on one or more players and specifies the FlexMatch matchmaker to use. When a request is for multiple players, FlexMatch attempts to build a match that includes all players in the request, placing them in the same team and finding additional players as needed to fill the match.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include any player attributes that are required by the matchmaking configuration's rule set. If successful, a matchmaking ticket is returned with status set to QUEUED.

Track matchmaking events to respond as needed and acquire game session connection information for successfully completed matches. Ticket status updates are tracked using event notification through Amazon Simple Notification Service, which is defined in the matchmaking configuration.

Learn more

Add FlexMatch to a game client

Set Up FlexMatch event notification

How Amazon GameLift FlexMatch works

", - "StopFleetActions": "

Suspends certain types of activity in a fleet location. Currently, this operation is used to stop auto-scaling activity. For multi-location fleets, fleet actions are managed separately for each location.

Stopping fleet actions has several potential purposes. It allows you to temporarily stop auto-scaling activity but retain your scaling policies for use in the future. For multi-location fleets, you can set up fleet-wide auto-scaling, and then opt out of it for certain locations.

This operation can be used in the following ways:

If successful, Amazon GameLift no longer initiates scaling events except in response to manual changes using UpdateFleetCapacity.

Learn more

Setting up Amazon GameLift Fleets

", + "StopFleetActions": "

Suspends certain types of activity in a fleet location. Currently, this operation is used to stop auto-scaling activity. For multi-location fleets, fleet actions are managed separately for each location.

Stopping fleet actions has several potential purposes. It allows you to temporarily stop auto-scaling activity but retain your scaling policies for use in the future. For multi-location fleets, you can set up fleet-wide auto-scaling, and then opt out of it for certain locations.

This operation can be used in the following ways:

If successful, Amazon GameLift no longer initiates scaling events except in response to manual changes using UpdateFleetCapacity. To restart fleet actions again, call StartFleetActions.

Learn more

Setting up Amazon GameLift Fleets

", "StopGameSessionPlacement": "

Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status.

", "StopMatchmaking": "

Cancels a matchmaking ticket or match backfill ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

This call is also used to turn off automatic backfill for an individual game session. This is for game sessions that are created with a matchmaking configuration that has automatic backfill enabled. The ticket ID is included in the MatchmakerData of an updated game session object, which is provided to the game server.

If the operation is successful, the service sends back an empty JSON struct with the HTTP 200 response (not an empty HTTP body).

Learn more

Add FlexMatch to a game client

", "SuspendGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Temporarily stops activity on a game server group without terminating instances or the game server group. You can restart activity by calling ResumeGameServerGroup. You can suspend the following activity:

To suspend activity, specify a game server group ARN and the type of activity to be suspended. If successful, a GameServerGroup object is returned showing that the activity is listed in SuspendedActions.

Learn more

Amazon GameLift FleetIQ Guide

", "TagResource": "

Assigns a tag to an Amazon GameLift resource. You can use tags to organize resources, create IAM permissions policies to manage access to groups of resources, customize Amazon Web Services cost breakdowns, and more. This operation handles the permissions necessary to manage tags for Amazon GameLift resources that support tagging.

To add a tag to a resource, specify the unique ARN value for the resource and provide a tag list containing one or more tags. The operation succeeds even if the list includes tags that are already assigned to the resource.

Learn more

Tagging Amazon Web Services Resources in the Amazon Web Services General Reference

Amazon Web Services Tagging Strategies

Related actions

All APIs by task

", "UntagResource": "

Removes a tag assigned to a Amazon GameLift resource. You can use resource tags to organize Amazon Web Services resources for a range of purposes. This operation handles the permissions necessary to manage tags for Amazon GameLift resources that support tagging.

To remove a tag from a resource, specify the unique ARN value for the resource and provide a string list containing one or more tags to remove. This operation succeeds even if the list includes tags that aren't assigned to the resource.

Learn more

Tagging Amazon Web Services Resources in the Amazon Web Services General Reference

Amazon Web Services Tagging Strategies

Related actions

All APIs by task

", - "UpdateAlias": "

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

Related actions

All APIs by task

", + "UpdateAlias": "

Updates properties for an alias. Specify the unique identifier of the alias to be updated and the new property values. When reassigning an alias to a new fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

Related actions

All APIs by task

", "UpdateBuild": "

Updates metadata in a build resource, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

Learn more

Upload a Custom Server Build

All APIs by task

", - "UpdateFleetAttributes": "

Updates a fleet's mutable attributes, including game session protection and resource creation limits.

To update fleet attributes, specify the fleet ID and the property values that you want to change.

If successful, an updated FleetAttributes object is returned.

Learn more

Setting up Amazon GameLift fleets

", - "UpdateFleetCapacity": "

Updates capacity settings for a fleet. For fleets with multiple locations, use this operation to manage capacity settings in each location individually. Fleet capacity determines the number of game sessions and players that can be hosted based on the fleet configuration. Use this operation to set the following fleet capacity properties:

This operation can be used in the following ways:

If successful, capacity settings are updated immediately. In response a change in desired capacity, Amazon GameLift initiates steps to start new instances or terminate existing instances in the requested fleet location. This continues until the location's active instance count matches the new desired instance count. You can track a fleet's current capacity by calling DescribeFleetCapacity or DescribeFleetLocationCapacity. If the requested desired instance count is higher than the instance type's limit, the LimitExceeded exception occurs.

Learn more

Scaling fleet capacity

", - "UpdateFleetPortSettings": "

Updates permissions that allow inbound traffic to connect to game sessions that are being hosted on instances in the fleet.

To update settings, specify the fleet ID to be updated and specify the changes to be made. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions.

If successful, the fleet ID for the updated fleet is returned. For fleets with remote locations, port setting updates can take time to propagate across all locations. You can check the status of updates in each location by calling DescribeFleetPortSettings with a location name.

Learn more

Setting up Amazon GameLift fleets

", + "UpdateFleetAttributes": "

Updates a fleet's mutable attributes, such as game session protection and resource creation limits.

To update fleet attributes, specify the fleet ID and the property values that you want to change. If successful, Amazon GameLift returns the identifiers for the updated fleet.

Learn more

Setting up Amazon GameLift fleets

", + "UpdateFleetCapacity": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Updates capacity settings for a managed EC2 fleet or container fleet. For these fleets, you adjust capacity by changing the number of instances in the fleet. Fleet capacity determines the number of game sessions and players that the fleet can host based on its configuration. For fleets with multiple locations, use this operation to manage capacity settings in each location individually.

Use this operation to set these fleet capacity properties:

To update capacity for a fleet's home Region, or if the fleet has no remote locations, omit the Location parameter. The fleet must be in ACTIVE status.

To update capacity for a fleet's remote location, set the Location parameter to the location to update. The location must be in ACTIVE status.

If successful, Amazon GameLift updates the capacity settings and returns the identifiers for the updated fleet and/or location. If a requested change to desired capacity exceeds the instance type's limit, the LimitExceeded exception occurs.

Updates often prompt an immediate change in fleet capacity, such as when current capacity is different than the new desired capacity or outside the new limits. In this scenario, Amazon GameLift automatically initiates steps to add or remove instances in the fleet location. You can track a fleet's current capacity by calling DescribeFleetCapacity or DescribeFleetLocationCapacity.

Learn more

Scaling fleet capacity

", + "UpdateFleetPortSettings": "

Updates permissions that allow inbound traffic to connect to game sessions in the fleet.

To update settings, specify the fleet ID to be updated and specify the changes to be made. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions.

For a container fleet, inbound permissions must specify port numbers that are defined in the fleet's connection port settings.

If successful, the fleet ID for the updated fleet is returned. For fleets with remote locations, port setting updates can take time to propagate across all locations. You can check the status of updates in each location by calling DescribeFleetPortSettings with a location name.

Learn more

Setting up Amazon GameLift fleets

", "UpdateGameServer": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Updates information about a registered game server to help Amazon GameLift FleetIQ track game server availability. This operation is called by a game server process that is running on an instance in a game server group.

Use this operation to update the following types of game server information. You can make all three types of updates in the same request:

Once a game server is successfully updated, the relevant statuses and timestamps are updated.

Learn more

Amazon GameLift FleetIQ Guide

", "UpdateGameServerGroup": "

This operation is used with the Amazon GameLift FleetIQ solution and game server groups.

Updates Amazon GameLift FleetIQ-specific properties for a game server group. Many Auto Scaling group properties are updated on the Auto Scaling group directly, including the launch template, Auto Scaling policies, and maximum/minimum/desired instance counts.

To update the game server group, specify the game server group ID and provide the updated values. Before applying the updates, the new values are validated to ensure that Amazon GameLift FleetIQ can continue to perform instance balancing activity. If successful, a GameServerGroup object is returned.

Learn more

Amazon GameLift FleetIQ Guide

", "UpdateGameSession": "

Updates the mutable properties of a game session.

To update a game session, specify the game session ID and the values you want to change.

If successful, the updated GameSession object is returned.

All APIs by task

", "UpdateGameSessionQueue": "

Updates the configuration of a game session queue, which determines how the queue processes new game session requests. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

Learn more

Using Multi-Region Queues

", "UpdateMatchmakingConfiguration": "

Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings.

Learn more

Design a FlexMatch matchmaker

", - "UpdateRuntimeConfiguration": "

Updates the current runtime configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on all instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration with an updated set of server process configurations.

If successful, the fleet's runtime configuration settings are updated. Each instance in the fleet regularly checks for and retrieves updated runtime configurations. Instances immediately begin complying with the new configuration by launching new server processes or not replacing existing processes when they shut down. Updating a fleet's runtime configuration never affects existing server processes.

Learn more

Setting up Amazon GameLift fleets

", + "UpdateRuntimeConfiguration": "

Updates the runtime configuration for the specified fleet. The runtime configuration tells Amazon GameLift how to launch server processes on computes in the fleet. For managed EC2 fleets, it determines what server processes to run on each fleet instance. For container fleets, it describes what server processes to run in each replica container group. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration with an updated set of server process configurations.

If successful, the fleet's runtime configuration settings are updated. Fleet computes that run game server processes regularly check for and receive updated runtime configurations. The computes immediately take action to comply with the new configuration by launching new server processes or by not replacing existing processes when they shut down. Updating a fleet's runtime configuration never affects existing server processes.

Learn more

Setting up Amazon GameLift fleets

", "UpdateScript": "

Updates Realtime script metadata and content.

To update script metadata, specify the script ID and provide updated name and/or version values.

To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the Version parameter to track updates to the script.

If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions.

Learn more

Amazon GameLift Realtime Servers

Related actions

All APIs by task

", "ValidateMatchmakingRuleSet": "

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string.

Learn more

" }, @@ -173,10 +177,10 @@ } }, "AnywhereConfiguration": { - "base": "

Amazon GameLift Anywhere configuration options for your Anywhere fleets.

", + "base": "

Amazon GameLift configuration options for your Anywhere fleets.

", "refs": { "CreateFleetInput$AnywhereConfiguration": "

Amazon GameLift Anywhere configuration options.

", - "FleetAttributes$AnywhereConfiguration": null, + "FleetAttributes$AnywhereConfiguration": "

This property is used with the Amazon GameLift containers feature, which is currently in public preview. A set of attributes that describe the container groups that are deployed on the fleet. These attributes are included for fleets with compute type CONTAINER only. This attribute is used with fleets where ComputeType is \"Container\".

", "UpdateFleetAttributesInput$AnywhereConfiguration": "

Amazon GameLift Anywhere configuration options.

" } }, @@ -235,6 +239,8 @@ "BooleanModel": { "base": null, "refs": { + "ContainerDefinition$Essential": "

Indicates whether the container is vital to the container group. If an essential container fails, the entire container group is restarted.

", + "ContainerDefinitionInput$Essential": "

Specifies whether the container is vital for the container group to function properly. If an essential container fails, it causes the entire container group to restart. Each container group must have an essential container.

Replica container groups - A replica group must have exactly one essential container. Use the following to configure an essential replica container:

Daemon container groups - A daemon group must have at least one essential container.

", "CreateMatchmakingConfigurationInput$AcceptanceRequired": "

A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

", "MatchmakingConfiguration$AcceptanceRequired": "

A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

", "UpdateMatchmakingConfigurationInput$AcceptanceRequired": "

A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

", @@ -254,20 +260,20 @@ "base": null, "refs": { "Build$BuildArn": "

The Amazon Resource Name (ARN) assigned to a Amazon GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. In a GameLift build ARN, the resource ID matches the BuildId value.

", - "FleetAttributes$BuildArn": "

The Amazon Resource Name (ARN) associated with the Amazon GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the BuildId value.

" + "FleetAttributes$BuildArn": "

The Amazon Resource Name (ARN) associated with the Amazon GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the BuildId value. This attribute is used with fleets where ComputeType is \"EC2\".

" } }, "BuildId": { "base": null, "refs": { "Build$BuildId": "

A unique identifier for the build.

", - "FleetAttributes$BuildId": "

A unique identifier for the build resource that is deployed on instances in this fleet.

" + "FleetAttributes$BuildId": "

A unique identifier for the build resource that is deployed on instances in this fleet. This attribute is used with fleets where ComputeType is \"EC2\".

" } }, "BuildIdOrArn": { "base": null, "refs": { - "CreateFleetInput$BuildId": "

The unique identifier for a custom game server build to be deployed on fleet instances. You can use either the build ID or ARN. The build must be uploaded to Amazon GameLift and in READY status. This fleet property can't be changed after the fleet is created.

", + "CreateFleetInput$BuildId": "

The unique identifier for a custom game server build to be deployed to a fleet with compute type EC2. You can use either the build ID or ARN. The build must be uploaded to Amazon GameLift and in READY status. This fleet property can't be changed after the fleet is created.

", "DeleteBuildInput$BuildId": "

A unique identifier for the build to delete. You can use either the build ID or ARN value.

", "DescribeBuildInput$BuildId": "

A unique identifier for the build to retrieve properties for. You can use either the build ID or ARN value.

", "ListFleetsInput$BuildId": "

A unique identifier for the build to request fleets for. Use this parameter to return only fleets using a specified build. Use either the build ID or ARN value.

", @@ -289,10 +295,10 @@ } }, "CertificateConfiguration": { - "base": "

Determines whether a TLS/SSL certificate is generated for a fleet. This feature must be enabled when creating the fleet. All instances in a fleet share the same certificate. The certificate can be retrieved by calling the Amazon GameLift Server SDK operation GetInstanceCertificate.

", + "base": "

This data type has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Determines whether a TLS/SSL certificate is generated for a fleet. This feature must be enabled when creating the fleet. All instances in a fleet share the same certificate. The certificate can be retrieved by calling the Amazon GameLift Server SDK operation GetInstanceCertificate.

", "refs": { "CreateFleetInput$CertificateConfiguration": "

Prompts Amazon GameLift to generate a TLS/SSL certificate for the fleet. Amazon GameLift uses the certificates to encrypt traffic between game clients and the game servers running on Amazon GameLift. By default, the CertificateConfiguration is DISABLED. You can't change this property after you create the fleet.

Certificate Manager (ACM) certificates expire after 13 months. Certificate expiration can cause fleets to fail, preventing players from connecting to instances in the fleet. We recommend you replace fleets before 13 months, consider using fleet aliases for a smooth transition.

ACM isn't available in all Amazon Web Services regions. A fleet creation request with certificate generation enabled in an unsupported Region, fails with a 4xx error. For more information about the supported Regions, see Supported Regions in the Certificate Manager User Guide.

", - "FleetAttributes$CertificateConfiguration": null + "FleetAttributes$CertificateConfiguration": "

Determines whether a TLS/SSL certificate is generated for a fleet. This feature must be enabled when creating the fleet. All instances in a fleet share the same certificate.

" } }, "CertificateType": { @@ -325,7 +331,7 @@ } }, "Compute": { - "base": "

An Amazon GameLift compute resource for hosting your game servers. A compute can be an EC2instance in a managed EC2 fleet or a registered compute in an Anywhere fleet.

", + "base": "

This data type has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

An Amazon GameLift compute resource for hosting your game servers. Computes in an Amazon GameLift fleet differs depending on the fleet's compute type property as follows:

", "refs": { "ComputeList$member": null, "DescribeComputeOutput$Compute": "

The set of properties for the requested compute resource.

", @@ -335,7 +341,7 @@ "ComputeArn": { "base": null, "refs": { - "Compute$ComputeArn": "

The ARN that is assigned to a compute resource and uniquely identifies it. ARNs are unique across locations. Instances in managed EC2 fleets are not assigned a ComputeARN.

", + "Compute$ComputeArn": "

The ARN that is assigned to a compute resource and uniquely identifies it. ARNs are unique across locations. Instances in managed EC2 fleets are not assigned a Compute ARN.

", "GetComputeAccessOutput$ComputeArn": "

The Amazon Resource Name (ARN) that is assigned to an Amazon GameLift compute resource and uniquely identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::compute/compute-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

", "GetComputeAuthTokenOutput$ComputeArn": "

The Amazon Resource Name (ARN) that is assigned to an Amazon GameLift compute resource and uniquely identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::compute/compute-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

" } @@ -355,18 +361,18 @@ "ComputeName": { "base": null, "refs": { - "Compute$ComputeName": "

A descriptive label for the compute resource. For instances in a managed EC2 fleet, the compute name is an instance ID.

", + "Compute$ComputeName": "

A descriptive label for the compute resource. For instances in a managed EC2 fleet, the compute name is the same value as the InstanceId ID.

", "RegisterComputeInput$ComputeName": "

A descriptive label for the compute resource.

" } }, "ComputeNameOrArn": { "base": null, "refs": { - "DeregisterComputeInput$ComputeName": "

The name of the compute resource to remove from the specified Anywhere fleet.

", - "DescribeComputeInput$ComputeName": "

The unique identifier of the compute resource to retrieve properties for. For an Anywhere fleet compute, use the registered compute name. For a managed EC2 fleet instance, use the instance ID.

", - "GetComputeAccessInput$ComputeName": "

A unique identifier for the compute resource that you want to connect to. You can use either a registered compute name or an instance ID.

", + "DeregisterComputeInput$ComputeName": "

The unique identifier of the compute resource to deregister. For an Anywhere fleet compute, use the registered compute name. For a container fleet, use the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) or the compute ARN.

", + "DescribeComputeInput$ComputeName": "

The unique identifier of the compute resource to retrieve properties for. For an Anywhere fleet compute, use the registered compute name. For an EC2 fleet instance, use the instance ID. For a container fleet, use the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) or the compute ARN.

", + "GetComputeAccessInput$ComputeName": "

A unique identifier for the compute resource that you want to connect to. For an EC2 fleet compute, use the instance ID. For a container fleet, use the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) or the compute ARN.

", "GetComputeAccessOutput$ComputeName": "

The identifier of the compute resource to be accessed. This value might be either a compute name or an instance ID.

", - "GetComputeAuthTokenInput$ComputeName": "

The name of the compute resource you are requesting the authentication token for.

", + "GetComputeAuthTokenInput$ComputeName": "

The name of the compute resource you are requesting the authentication token for. For an Anywhere fleet compute, use the registered compute name. For an EC2 fleet instance, use the instance ID. For a container fleet, use the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) or the compute ARN.

", "GetComputeAuthTokenOutput$ComputeName": "

The name of the compute resource that the authentication token is issued to.

" } }, @@ -379,7 +385,7 @@ "ComputeType": { "base": null, "refs": { - "CreateFleetInput$ComputeType": "

The type of compute resource used to host your game servers. You can use your own compute resources with Amazon GameLift Anywhere or use Amazon EC2 instances with managed Amazon GameLift. By default, this property is set to EC2.

", + "CreateFleetInput$ComputeType": "

The type of compute resource used to host your game servers.

", "FleetAttributes$ComputeType": "

The type of compute resource used to host your game servers. You can use your own compute resources with Amazon GameLift Anywhere or use Amazon EC2 instances with managed Amazon GameLift.

" } }, @@ -388,6 +394,282 @@ "refs": { } }, + "ConnectionPortRange": { + "base": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

The set of port numbers to open on each instance in a container fleet. Connection ports are used by inbound traffic to connect with processes that are running in containers on the fleet.

Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes

", + "refs": { + "ContainerGroupsAttributes$ConnectionPortRange": "

A set of ports that allow inbound traffic to connect to processes running in the fleet's container groups. Amazon GameLift maps each connection port to a container port, which is assigned to a specific container process. A fleet's connection port range can't be changed, but you can control access to connection ports by updating a fleet's EC2InboundPermissions with UpdateFleetPortSettings.

", + "ContainerGroupsConfiguration$ConnectionPortRange": "

A set of ports to allow inbound traffic, including game clients, to connect to processes running in the container fleet.

Connection ports are dynamically mapped to container ports, which are assigned to individual processes running in a container. The connection port range must have enough ports to map to all container ports across a fleet instance. To calculate the minimum connection ports needed, use the following formula:

[Total number of container ports as defined for containers in the replica container group] * [Desired or calculated number of replica container groups per instance] + [Total number of container ports as defined for containers in the daemon container group]

As a best practice, double the minimum number of connection ports.

Use the fleet's EC2InboundPermissions property to control external access to connection ports. Set this property to the connection port numbers that you want to open access to. See IpPermission for more details.

" + } + }, + "ContainerAttributes": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Describes attributes of containers that are deployed to a fleet with compute type CONTAINER.

", + "refs": { + "Compute$ContainerAttributes": "

Some attributes of a container.

" + } + }, + "ContainerCommandStringList": { + "base": null, + "refs": { + "ContainerDefinition$Command": "

A command that's passed to the container on startup. Each argument for the command is an additional string in the array. See the ContainerDefinition::command parameter in the Amazon Elastic Container Service API reference.

", + "ContainerDefinitionInput$Command": "

A command to pass to the container on startup. Add multiple arguments as additional strings in the array. See the ContainerDefinition command parameter in the Amazon Elastic Container Service API reference.

", + "ContainerHealthCheck$Command": "

A string array that specifies the command that the container runs to determine if it's healthy.

" + } + }, + "ContainerCpu": { + "base": null, + "refs": { + "ContainerDefinition$Cpu": "

The number of CPU units that are reserved for the container. Note: 1 vCPU unit equals 1024 CPU units. If no resources are reserved, the container shares the total CPU limit for the container group.

Related data type: ContainerGroupDefinition$TotalCpuLimit

", + "ContainerDefinitionInput$Cpu": "

The number of CPU units to reserve for this container. The container can use more resources when needed, if available. Note: 1 vCPU unit equals 1024 CPU units. If you don't reserve CPU units for this container, then it shares the total CPU limit for the container group. This property is similar to the Amazon ECS container definition parameter environment (Amazon Elastic Container Service Developer Guide).

Related data type: ContainerGroupDefinition$TotalCpuLimit

" + } + }, + "ContainerDefinition": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Describes a container in a container fleet, the resources available to the container, and the commands that are run when the container starts. Container properties can't be updated. To change a property, create a new container group definition. See also ContainerDefinitionInput.

Part of: ContainerGroupDefinition

Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions

", + "refs": { + "ContainerDefinitionList$member": null + } + }, + "ContainerDefinitionInput": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Describes a container's configuration, resources, and start instructions. Use this data type to create a container group definition. For the properties of a container that's been deployed to a fleet, see ContainerDefinition. You can't change these properties after you've created the container group definition. If you need a container group with different properties, then you must create a new one.

Used with: CreateContainerGroupDefinition

", + "refs": { + "ContainerDefinitionInputList$member": null + } + }, + "ContainerDefinitionInputList": { + "base": null, + "refs": { + "CreateContainerGroupDefinitionInput$ContainerDefinitions": "

Definitions for all containers in this group. Each container definition identifies the container image and specifies configuration settings for the container. See the Container fleet design guide for container guidelines.

" + } + }, + "ContainerDefinitionList": { + "base": null, + "refs": { + "ContainerGroupDefinition$ContainerDefinitions": "

The set of container definitions that are included in the container group.

" + } + }, + "ContainerDependency": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

A container's dependency on another container in the same container group. The dependency impacts how the dependent container is able to start or shut down based the status of the other container.

For example, ContainerA is configured with the following dependency: a START dependency on ContainerB. This means that ContainerA can't start until ContainerB has started. It also means that ContainerA must shut down before ContainerB.

Part of: ContainerDefinition

", + "refs": { + "ContainerDependencyList$member": null + } + }, + "ContainerDependencyCondition": { + "base": null, + "refs": { + "ContainerDependency$Condition": "

The condition that the dependency container must reach before the dependent container can start. Valid conditions include:

" + } + }, + "ContainerDependencyList": { + "base": null, + "refs": { + "ContainerDefinition$DependsOn": "

Indicates that the container relies on the status of other containers in the same container group during its startup and shutdown sequences. A container might have dependencies on multiple containers.

", + "ContainerDefinitionInput$DependsOn": "

Sets up dependencies between this container and the status of other containers in the same container group. A container can have dependencies on multiple different containers.

You can use dependencies to establish a startup/shutdown sequence across the container group. A container startup dependency is reversed on shutdown.

For example, you might specify that SideCarContainerB has a START dependency on SideCarContainerA. This dependency means that SideCarContainerB can't start until after SideCarContainerA has started. This dependency is reversed on shutdown, which means that SideCarContainerB must shut down before SideCarContainerA can shut down.

" + } + }, + "ContainerEntryPointList": { + "base": null, + "refs": { + "ContainerDefinition$EntryPoint": "

The entry point that's passed to the container on startup. If there are multiple arguments, each argument is an additional string in the array. See the ContainerDefinition::entryPoint parameter in the Amazon Elastic Container Service API Reference.

", + "ContainerDefinitionInput$EntryPoint": "

An entry point to pass to the container on startup. Add multiple arguments as additional strings in the array. See the ContainerDefinition::entryPoint parameter in the Amazon Elastic Container Service API Reference.

" + } + }, + "ContainerEnvironment": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

An environment variable to set inside a container, in the form of a key-value pair.

Related data type: ContainerDefinition$Environment

", + "refs": { + "ContainerEnvironmentList$member": null + } + }, + "ContainerEnvironmentList": { + "base": null, + "refs": { + "ContainerDefinition$Environment": "

A set of environment variables that's passed to the container on startup. See the ContainerDefinition::environment parameter in the Amazon Elastic Container Service API Reference.

", + "ContainerDefinitionInput$Environment": "

A set of environment variables to pass to the container on startup. See the ContainerDefinition::environment parameter in the Amazon Elastic Container Service API Reference.

" + } + }, + "ContainerGroupDefinition": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

The properties that describe a container group resource. Container group definition properties can't be updated. To change a property, create a new container group definition.

Used with: CreateContainerGroupDefinition

Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions

", + "refs": { + "ContainerGroupDefinitionList$member": null, + "CreateContainerGroupDefinitionOutput$ContainerGroupDefinition": "

The properties of the newly created container group definition resource. You use this resource to create a container fleet.

", + "DescribeContainerGroupDefinitionOutput$ContainerGroupDefinition": "

The properties of the requested container group definition resource.

" + } + }, + "ContainerGroupDefinitionArn": { + "base": null, + "refs": { + "ContainerGroupDefinition$ContainerGroupDefinitionArn": "

The Amazon Resource Name (ARN) that is assigned to an Amazon GameLift ContainerGroupDefinition resource. It uniquely identifies the resource across all Amazon Web Services Regions. Format is arn:aws:gamelift:<region>::containergroupdefinition/[container group definition name].

" + } + }, + "ContainerGroupDefinitionList": { + "base": null, + "refs": { + "ListContainerGroupDefinitionsOutput$ContainerGroupDefinitions": "

A result set of container group definitions that match the request.

" + } + }, + "ContainerGroupDefinitionName": { + "base": null, + "refs": { + "ContainerGroupDefinition$Name": "

A descriptive identifier for the container group definition. The name value is unique in an Amazon Web Services Region.

", + "ContainerGroupDefinitionProperty$ContainerGroupDefinitionName": "

The unique identifier for the container group definition.

", + "CreateContainerGroupDefinitionInput$Name": "

A descriptive identifier for the container group definition. The name value must be unique in an Amazon Web Services Region.

" + } + }, + "ContainerGroupDefinitionNameOrArn": { + "base": null, + "refs": { + "ContainerGroupDefinitionNameOrArnLimitedList$member": null, + "DeleteContainerGroupDefinitionInput$Name": "

The unique identifier for the container group definition to delete. You can use either the Name or ARN value.

", + "DescribeContainerGroupDefinitionInput$Name": "

The unique identifier for the container group definition to retrieve properties for. You can use either the Name or ARN value.

", + "ListFleetsInput$ContainerGroupDefinitionName": "

The container group definition name to request fleets for. Use this parameter to return only fleets that are deployed with the specified container group definition.

" + } + }, + "ContainerGroupDefinitionNameOrArnLimitedList": { + "base": null, + "refs": { + "ContainerGroupsConfiguration$ContainerGroupDefinitionNames": "

The list of container group definition names to deploy to a new container fleet.

" + } + }, + "ContainerGroupDefinitionPropertiesList": { + "base": null, + "refs": { + "ContainerGroupsAttributes$ContainerGroupDefinitionProperties": "

A collection of properties that describe each container group in the fleet. A container fleet is deployed with one or more ContainerGroupDefinition resources, which is where these properties are set.

" + } + }, + "ContainerGroupDefinitionProperty": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

The properties of a container group that is deployed to a container fleet.

Part of: ContainerGroupsAttributes

Returned by: DescribeFleetAttributes

", + "refs": { + "ContainerGroupDefinitionPropertiesList$member": null + } + }, + "ContainerGroupDefinitionStatus": { + "base": null, + "refs": { + "ContainerGroupDefinition$Status": "

Current status of the container group definition resource. Values include:

" + } + }, + "ContainerGroupsAttributes": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

The properties of container groups that are running on a container fleet. Container group properties for a fleet can't be changed.

Returned by: DescribeFleetAttributes, CreateFleet

", + "refs": { + "FleetAttributes$ContainerGroupsAttributes": "

A set of properties that describe the container groups that are deployed to the fleet. These attributes are included for fleets with compute type CONTAINER.

" + } + }, + "ContainerGroupsConfiguration": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Configuration details for a set of container groups, for use when creating a fleet with compute type CONTAINER.

Used with: CreateFleet

", + "refs": { + "CreateFleetInput$ContainerGroupsConfiguration": "

The container groups to deploy to instances in the container fleet and other fleet-level configuration settings. Use the CreateContainerGroupDefinition action to create container groups. A container fleet must have exactly one replica container group, and can optionally have one daemon container group. You can't change this property after you create the fleet.

" + } + }, + "ContainerGroupsPerInstance": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Determines how many replica container groups that Amazon GameLift deploys to each instance in a container fleet.

Amazon GameLift calculates the maximum possible replica groups per instance based on the instance 's CPU and memory resources. When deploying a fleet, Amazon GameLift places replica container groups on each fleet instance based on the following:

Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes

Returned by: DescribeFleetAttributes, CreateFleet

", + "refs": { + "ContainerGroupsAttributes$ContainerGroupsPerInstance": "

Details about the number of replica container groups that Amazon GameLift deploys to each instance in the container fleet.

" + } + }, + "ContainerHealthCheck": { + "base": "

Instructions on when and how to check the health of a container in a container fleet. When health check properties are set in a container definition, they override any Docker health checks in the container image. For more information on container health checks, see HealthCheck command in the Amazon Elastic Container Service API.

The following example instructions tell the container to wait 100 seconds after launch before counting failed health checks, then initiate the health check command every 60 seconds. After issuing the health check command, wait 10 seconds for it to succeed. If it fails, retry the command 3 times before considering the container to be unhealthy.

{\"Command\": [ \"CMD-SHELL\", \"ps cax | grep \"processmanager\" || exit 1\" ], \"Interval\": 300, \"Timeout\": 30, \"Retries\": 5, \"StartPeriod\": 100 }

Part of: ContainerDefinition$HealthCheck

", + "refs": { + "ContainerDefinition$HealthCheck": "

A configuration for a non-terminal health check. A container, which automatically restarts if it stops functioning, also restarts if it fails this health check. If an essential container in the daemon group fails a health check, the entire container group is restarted. The essential container in the replica group doesn't use this health check mechanism, because the Amazon GameLift Agent automatically handles the task.

", + "ContainerDefinitionInput$HealthCheck": "

Configuration for a non-terminal health check. A container automatically restarts if it stops functioning. This parameter lets you define additional reasons to consider a container unhealthy and restart it. You can set a health check for any container except for the essential container in the replica container group. If an essential container in the daemon group fails a health check, the entire container group is restarted.

" + } + }, + "ContainerHealthCheckInterval": { + "base": null, + "refs": { + "ContainerHealthCheck$Interval": "

The time period (in seconds) between each health check.

" + } + }, + "ContainerHealthCheckRetries": { + "base": null, + "refs": { + "ContainerHealthCheck$Retries": "

The number of times to retry a failed health check before the container is considered unhealthy. The first run of the command does not count as a retry.

" + } + }, + "ContainerHealthCheckStartPeriod": { + "base": null, + "refs": { + "ContainerHealthCheck$StartPeriod": "

The optional grace period (in seconds) to give a container time to bootstrap before the first failed health check counts toward the number of retries.

" + } + }, + "ContainerHealthCheckTimeout": { + "base": null, + "refs": { + "ContainerHealthCheck$Timeout": "

The time period (in seconds) to wait for a health check to succeed before a failed health check is counted.

" + } + }, + "ContainerMemoryLimit": { + "base": null, + "refs": { + "ContainerMemoryLimits$SoftLimit": "

The amount of memory that is reserved for a container. When the container group's shared memory is under contention, the system attempts to maintain the container memory usage at this soft limit. However, the container can use more memory when needed, if available. This property is similar to the Amazon ECS container definition parameter memoryreservation (Amazon Elastic Container Service Developer Guide).

", + "ContainerMemoryLimits$HardLimit": "

The maximum amount of memory that the container can use. If a container attempts to exceed this limit, the container is stopped. This property is similar to the Amazon ECS container definition parameter memory in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "ContainerMemoryLimits": { + "base": "

Specifies how much memory is available to a container. You can't change this value after you create this object.

Part of: ContainerDefinition$MemoryLimits

", + "refs": { + "ContainerDefinition$MemoryLimits": "

The amount of memory that Amazon GameLift makes available to the container. If memory limits aren't set for an individual container, the container shares the container group's total memory allocation.

Related data type: ContainerGroupDefinition$TotalMemoryLimit

", + "ContainerDefinitionInput$MemoryLimits": "

The amount of memory to make available to the container. If you don't specify memory limits for this container, then it shares the container group's total memory allocation.

Related data type: ContainerGroupDefinition$TotalMemoryLimit

" + } + }, + "ContainerOperatingSystem": { + "base": null, + "refs": { + "ContainerGroupDefinition$OperatingSystem": "

The platform required for all containers in the container group definition.

", + "CreateContainerGroupDefinitionInput$OperatingSystem": "

The platform that is used by containers in the container group definition. All containers in a group must run on the same operating system.

" + } + }, + "ContainerPortConfiguration": { + "base": "

Defines ranges of ports that server processes can connect to.

Part of: ContainerDefinition$PortConfiguration

", + "refs": { + "ContainerDefinition$PortConfiguration": "

Defines the ports that are available to assign to processes in the container. For example, a game server process requires a container port to allow game clients to connect to it. Container ports aren't directly accessed by inbound traffic. Amazon GameLift maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ConnectionPortRange.

", + "ContainerDefinitionInput$PortConfiguration": "

A set of ports that Amazon GameLift can assign to processes in the container. All processes that accept inbound traffic connections, including game server processes, must be assigned a port from this set. The set of ports must be large enough to assign one to each process in the container that needs one. If the container includes your game server, include enough ports to assign one port to each concurrent server process (as defined in a container fleet's RuntimeConfiguration). For more details, see Networking for container fleets.

Container ports aren't directly accessed by inbound traffic. Amazon GameLift maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ConnectionPortRange.

" + } + }, + "ContainerPortMapping": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Defines how an internal-facing container port is mapped to an external-facing connection port on a fleet instance of compute type CONTAINER. Incoming traffic, such as a game client, uses a connection port to connect to a process in the container fleet. Amazon GameLift directs the inbound traffic to the container port that is assigned to the process, such as a game session, running on a container.

Part of: ContainerAttributes

", + "refs": { + "ContainerPortMappingList$member": null + } + }, + "ContainerPortMappingList": { + "base": null, + "refs": { + "ContainerAttributes$ContainerPortMappings": "

Describes how container ports map to connection ports on the fleet instance. Incoming traffic connects to a game via a connection port. A ContainerPortMapping directs the traffic from a connection port to a port on the container that hosts the game session.

" + } + }, + "ContainerPortRange": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

A set of one or more port numbers that can be opened on the container.

Part of: ContainerPortConfiguration

", + "refs": { + "ContainerPortRangeList$member": null + } + }, + "ContainerPortRangeList": { + "base": null, + "refs": { + "ContainerPortConfiguration$ContainerPortRanges": "

Specifies one or more ranges of ports on a container. These ranges must not overlap.

" + } + }, + "ContainerSchedulingStrategy": { + "base": null, + "refs": { + "ContainerGroupDefinition$SchedulingStrategy": "

The method for deploying the container group across fleet instances. A replica container group might have multiple copies on each fleet instance. A daemon container group maintains only one copy per fleet instance.

", + "ContainerGroupDefinitionProperty$SchedulingStrategy": "

The method for scheduling and maintaining copies of the container group across a container fleet.

", + "CreateContainerGroupDefinitionInput$SchedulingStrategy": "

The method for deploying the container group across fleet instances. A replica container group might have multiple copies on each fleet instance. A daemon container group has one copy per fleet instance. Default value is REPLICA.

", + "ListContainerGroupDefinitionsInput$SchedulingStrategy": "

The type of container group definitions to retrieve.

" + } + }, + "ContainerTotalCpuLimit": { + "base": null, + "refs": { + "ContainerGroupDefinition$TotalCpuLimit": "

The amount of CPU units on a fleet instance to allocate for the container group. All containers in the group share these resources. This property is an integer value in CPU units (1 vCPU is equal to 1024 CPU units).

You can set additional limits for each ContainerDefinition in the group. If individual containers have limits, this value must be equal to or greater than the sum of all container-specific CPU limits in the group.

For more details on memory allocation, see the Container fleet design guide.

", + "CreateContainerGroupDefinitionInput$TotalCpuLimit": "

The maximum amount of CPU units to allocate to the container group. Set this parameter to an integer value in CPU units (1 vCPU is equal to 1024 CPU units). All containers in the group share this memory. If you specify CPU limits for individual containers, set this parameter based on the following guidelines. The value must be equal to or greater than the sum of the CPU limits for all containers in the group.

" + } + }, + "ContainerTotalMemoryLimit": { + "base": null, + "refs": { + "ContainerGroupDefinition$TotalMemoryLimit": "

The amount of memory (in MiB) on a fleet instance to allocate for the container group. All containers in the group share these resources.

You can set additional limits for each ContainerDefinition in the group. If individual containers have limits, this value must meet the following requirements:

For more details on memory allocation, see the Container fleet design guide.

", + "CreateContainerGroupDefinitionInput$TotalMemoryLimit": "

The maximum amount of memory (in MiB) to allocate to the container group. All containers in the group share this memory. If you specify memory limits for individual containers, set this parameter based on the following guidelines. The value must be (1) greater than the sum of the soft memory limits for all containers in the group, and (2) greater than any individual container's hard memory limit.

" + } + }, "CreateAliasInput": { "base": null, "refs": { @@ -408,6 +690,16 @@ "refs": { } }, + "CreateContainerGroupDefinitionInput": { + "base": null, + "refs": { + } + }, + "CreateContainerGroupDefinitionOutput": { + "base": null, + "refs": { + } + }, "CreateFleetInput": { "base": null, "refs": { @@ -568,6 +860,11 @@ "refs": { } }, + "DeleteContainerGroupDefinitionInput": { + "base": null, + "refs": { + } + }, "DeleteFleetInput": { "base": null, "refs": { @@ -708,6 +1005,16 @@ "refs": { } }, + "DescribeContainerGroupDefinitionInput": { + "base": null, + "refs": { + } + }, + "DescribeContainerGroupDefinitionOutput": { + "base": null, + "refs": { + } + }, "DescribeEC2InstanceLimitsInput": { "base": null, "refs": { @@ -1015,7 +1322,7 @@ "EC2InstanceCounts": { "base": "

Resource capacity settings. Fleet capacity is measured in Amazon EC2 instances. Pending and terminating counts are non-zero when the fleet capacity is adjusting to a scaling event or if access to resources is temporarily affected.

", "refs": { - "FleetCapacity$InstanceCounts": null + "FleetCapacity$InstanceCounts": "

The current number of instances in the fleet, listed by instance status. Counts for pending and terminating instances might be non-zero if the fleet is adjusting to a scaling event or if access to resources is temporarily affected.

" } }, "EC2InstanceLimit": { @@ -1034,11 +1341,11 @@ "base": null, "refs": { "Compute$Type": "

The Amazon EC2 instance type that the fleet uses. For registered computes in an Amazon GameLift Anywhere fleet, this property is empty.

", - "CreateFleetInput$EC2InstanceType": "

The Amazon GameLift-supported Amazon EC2 instance type to use for all fleet instances. Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions of Amazon EC2 instance types.

", + "CreateFleetInput$EC2InstanceType": "

The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and container fleets. Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions of Amazon EC2 instance types.

", "DescribeEC2InstanceLimitsInput$EC2InstanceType": "

Name of an Amazon EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Do not specify a value for this parameter to retrieve limits for all instance types.

", "EC2InstanceLimit$EC2InstanceType": "

The name of an Amazon EC2 instance type. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions.

", - "FleetAttributes$InstanceType": "

The Amazon EC2 instance type that determines the computing resources of each instance in the fleet. Instance type defines the CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions.

", - "FleetCapacity$InstanceType": "

The Amazon EC2 instance type that is used for all instances in a fleet. The instance type determines the computing resources in use, including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions.

", + "FleetAttributes$InstanceType": "

The Amazon EC2 instance type that the fleet uses. Instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", + "FleetCapacity$InstanceType": "

The Amazon EC2 instance type that is used for instances in a fleet. Instance type determines the computing resources in use, including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions.

", "Instance$Type": "

EC2 instance type that defines the computing resources of this instance.

" } }, @@ -1054,6 +1361,12 @@ "Event$EventCode": "

The type of event being logged.

Fleet state transition events:

Fleet creation events (ordered by fleet creation activity):

VPC peering events:

Spot instance events:

Server process events:

Game session events:

Other fleet events:

" } }, + "EventCount": { + "base": null, + "refs": { + "Event$Count": "

The number of times that this event occurred.

" + } + }, "EventList": { "base": null, "refs": { @@ -1089,7 +1402,7 @@ "FleetActionList": { "base": null, "refs": { - "FleetAttributes$StoppedActions": "

A list of fleet activity that has been suspended using StopFleetActions . This includes fleet auto-scaling.

", + "FleetAttributes$StoppedActions": "

A list of fleet activity that has been suspended using StopFleetActions. This includes fleet auto-scaling. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", "LocationAttributes$StoppedActions": "

A list of fleet actions that have been suspended in the fleet location.

", "StartFleetActionsInput$Actions": "

List of actions to restart on the fleet.

", "StopFleetActionsInput$Actions": "

List of actions to suspend on the fleet.

" @@ -1122,7 +1435,7 @@ } }, "FleetAttributes": { - "base": "

Describes a Amazon GameLift fleet of game hosting resources.

Related actions

", + "base": "

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Describes an Amazon GameLift fleet of game hosting resources. Attributes differ based on the fleet's compute type, as follows:

Returned by: DescribeFleetAttributes

", "refs": { "CreateFleetOutput$FleetAttributes": "

The properties for the new fleet, including the current status. All fleets are placed in NEW status on creation.

", "FleetAttributesList$member": null @@ -1135,7 +1448,7 @@ } }, "FleetCapacity": { - "base": "

Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.

Related actions

DescribeFleetCapacity | DescribeFleetLocationCapacity | UpdateFleetCapacity

", + "base": "

Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.

Returned by: DescribeFleetCapacity, DescribeFleetLocationCapacity, UpdateFleetCapacity

", "refs": { "DescribeFleetLocationCapacityOutput$FleetCapacity": "

Resource capacity information for the requested fleet location. Capacity objects are returned only for fleets and locations that currently exist. Changes in desired instance value can take up to 1 minute to be reflected.

", "FleetCapacityList$member": null @@ -1196,7 +1509,7 @@ "DeleteFleetLocationsOutput$FleetId": "

A unique identifier for the fleet that location attributes are being deleted for.

", "DeleteScalingPolicyInput$FleetId": "

A unique identifier for the fleet to be deleted. You can use either the fleet ID or ARN value.

", "DeregisterComputeInput$FleetId": "

A unique identifier for the fleet the compute resource is currently registered to.

", - "DescribeComputeInput$FleetId": "

A unique identifier for the fleet that the compute is registered to. You can use either the fleet ID or ARN value.

", + "DescribeComputeInput$FleetId": "

A unique identifier for the fleet that the compute belongs to. You can use either the fleet ID or ARN value.

", "DescribeFleetEventsInput$FleetId": "

A unique identifier for the fleet to get event logs for. You can use either the fleet ID or ARN value.

", "DescribeFleetLocationAttributesInput$FleetId": "

A unique identifier for the fleet to retrieve remote locations for. You can use either the fleet ID or ARN value.

", "DescribeFleetLocationAttributesOutput$FleetId": "

A unique identifier for the fleet that location attributes were requested for.

", @@ -1209,8 +1522,8 @@ "DescribeRuntimeConfigurationInput$FleetId": "

A unique identifier for the fleet to get the runtime configuration for. You can use either the fleet ID or ARN value.

", "DescribeScalingPoliciesInput$FleetId": "

A unique identifier for the fleet for which to retrieve scaling policies. You can use either the fleet ID or ARN value.

", "FleetIdOrArnList$member": null, - "GetComputeAccessInput$FleetId": "

A unique identifier for the fleet that contains the compute resource you want to connect to. You can use either the fleet ID or ARN value.

", - "GetComputeAccessOutput$FleetId": "

The ID of the fleet that contains the compute resource to be accessed.

", + "GetComputeAccessInput$FleetId": "

A unique identifier for the fleet that holds the compute resource that you want to connect to. You can use either the fleet ID or ARN value.

", + "GetComputeAccessOutput$FleetId": "

The ID of the fleet that holds the compute resource to be accessed.

", "GetComputeAuthTokenInput$FleetId": "

A unique identifier for the fleet that the compute is registered to.

", "GetComputeAuthTokenOutput$FleetId": "

A unique identifier for the fleet that the compute is registered to.

", "GetInstanceAccessInput$FleetId": "

A unique identifier for the fleet that contains the instance you want to access. You can request access to instances in EC2 fleets with the following statuses: ACTIVATING, ACTIVE, or ERROR. Use either a fleet ID or an ARN value.

You can access fleets in ERROR status for a short period of time before Amazon GameLift deletes them.

", @@ -1237,7 +1550,7 @@ "FleetStatus": { "base": null, "refs": { - "FleetAttributes$Status": "

Current status of the fleet. Possible fleet statuses include the following:

", + "FleetAttributes$Status": "

Current status of the fleet. Possible fleet statuses include the following:

", "LocationState$Status": "

The life-cycle status of a fleet location.

" } }, @@ -1245,11 +1558,11 @@ "base": null, "refs": { "CreateFleetInput$FleetType": "

Indicates whether to use On-Demand or Spot instances for this fleet. By default, this property is set to ON_DEMAND. Learn more about when to use On-Demand versus Spot Instances. This fleet property can't be changed after the fleet is created.

", - "FleetAttributes$FleetType": "

Indicates whether to use On-Demand or Spot instances for this fleet. By default, this property is set to ON_DEMAND. Learn more about when to use On-Demand versus Spot Instances. This fleet property can't be changed after the fleet is created.

" + "FleetAttributes$FleetType": "

Indicates whether the fleet uses On-Demand or Spot instances. For more information, see On-Demand versus Spot Instances. This fleet property can't be changed after the fleet is created.

" } }, "FleetUtilization": { - "base": "

Current resource utilization statistics in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.

Related actions

", + "base": "

Current resource utilization statistics in a specified fleet or location. The location value might refer to a fleet's remote location or its home region.

", "refs": { "DescribeFleetLocationUtilizationOutput$FleetUtilization": "

Utilization information for the requested fleet location. Utilization objects are returned only for fleets and locations that currently exist.

", "FleetUtilizationList$member": null @@ -1284,6 +1597,12 @@ "RoutingStrategy$Message": "

The message text to be used with a terminal routing strategy.

" } }, + "GameLiftAgentEndpointOutput": { + "base": null, + "refs": { + "Compute$GameLiftAgentEndpoint": "

The endpoint of the Amazon GameLift Agent.

" + } + }, "GameLiftServiceSdkEndpointOutput": { "base": null, "refs": { @@ -1714,6 +2033,13 @@ "refs": { } }, + "ImageUriString": { + "base": null, + "refs": { + "ContainerDefinition$ImageUri": "

The URI to the image that $short; copied and deployed to a container fleet. For a more specific identifier, see ResolvedImageDigest.

", + "ContainerDefinitionInput$ImageUri": "

The location of a container image that $short; will copy and deploy to a container fleet. Images in Amazon Elastic Container Registry private repositories are supported. The repository must be in the same Amazon Web Services account and Amazon Web Services Region where you're creating the container group definition. For limits on image size, see Amazon GameLift endpoints and quotas. You can use any of the following image URI formats:

" + } + }, "Instance": { "base": "

Represents a virtual computing instance that runs game server processes and hosts game sessions. In Amazon GameLift, one or more instances make up a managed EC2 fleet.

", "refs": { @@ -1749,6 +2075,7 @@ "InstanceId": { "base": null, "refs": { + "Compute$InstanceId": "

The InstanceID of the Instance hosting the compute for Container and Managed EC2 fleets.

", "DescribeInstancesInput$InstanceId": "

A unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.

", "GetInstanceAccessInput$InstanceId": "

A unique identifier for the instance you want to access. You can access an instance in any status.

", "Instance$InstanceId": "

A unique identifier for the instance.

", @@ -1764,8 +2091,8 @@ "InstanceRoleCredentialsProvider": { "base": null, "refs": { - "CreateFleetInput$InstanceRoleCredentialsProvider": "

Prompts Amazon GameLift to generate a shared credentials file for the IAM role defined in InstanceRoleArn. The shared credentials file is stored on each fleet instance and refreshed as needed. Use shared credentials for applications that are deployed along with the game server executable, if the game server is integrated with server SDK version 5.x. For more information about using shared credentials, see Communicate with other Amazon Web Services resources from your fleets.

", - "FleetAttributes$InstanceRoleCredentialsProvider": "

Indicates that fleet instances maintain a shared credentials file for the IAM role defined in InstanceRoleArn. Shared credentials allow applications that are deployed with the game server executable to communicate with other Amazon Web Services resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see Communicate with other Amazon Web Services resources from your fleets.

" + "CreateFleetInput$InstanceRoleCredentialsProvider": "

Prompts Amazon GameLift to generate a shared credentials file for the IAM role that's defined in InstanceRoleArn. The shared credentials file is stored on each fleet instance and refreshed as needed. Use shared credentials for applications that are deployed along with the game server executable, if the game server is integrated with server SDK version 5.x. For more information about using shared credentials, see Communicate with other Amazon Web Services resources from your fleets.

", + "FleetAttributes$InstanceRoleCredentialsProvider": "

Indicates that fleet instances maintain a shared credentials file for the IAM role defined in InstanceRoleArn. Shared credentials allow applications that are deployed with the game server executable to communicate with other Amazon Web Services resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see Communicate with other Amazon Web Services resources from your fleets. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

" } }, "InstanceStatus": { @@ -1815,7 +2142,7 @@ } }, "IpPermission": { - "base": "

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an instance in a fleet. New game sessions are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. Fleets with custom game builds must have permissions explicitly set. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP.

", + "base": "

A range of IP addresses and port settings that allow inbound traffic to connect to processes on an instance in a fleet. Processes are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For container fleets, the port settings must use the same port numbers as the fleet's connection ports.

For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP.

", "refs": { "IpPermissionsList$member": null } @@ -1823,7 +2150,7 @@ "IpPermissionsList": { "base": null, "refs": { - "CreateFleetInput$EC2InboundPermissions": "

The allowed IP address ranges and port settings that allow inbound traffic to access game sessions on this fleet. If the fleet is hosting a custom game build, this property must be set before players can connect to game sessions. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges.

", + "CreateFleetInput$EC2InboundPermissions": "

The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. Set this parameter for EC2 and container fleets. You can leave this parameter empty when creating the fleet, but you must call UpdateFleetPortSettings to set it before players can connect to game sessions. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges.

To manage inbound access for a container fleet, set this parameter to the same port numbers that you set for the fleet's connection port range. During the life of the fleet, update this parameter to control which connection ports are open to inbound traffic.

", "DescribeFleetPortSettingsOutput$InboundPermissions": "

The port settings for the requested fleet ID.

", "UpdateFleetPortSettingsInput$InboundPermissionAuthorizations": "

A collection of port settings to be added to the fleet resource.

", "UpdateFleetPortSettingsInput$InboundPermissionRevocations": "

A collection of port settings to be removed from the fleet resource.

" @@ -1832,6 +2159,8 @@ "IpProtocol": { "base": null, "refs": { + "ContainerPortMapping$Protocol": "

The network protocol that this mapping supports.

", + "ContainerPortRange$Protocol": "

The network protocol that these ports support.

", "IpPermission$Protocol": "

The network communication protocol used by the fleet.

" } }, @@ -1860,7 +2189,7 @@ "base": null, "refs": { "CreateFleetInput$ServerLaunchParameters": "

This parameter is no longer used. Specify server launch parameters using the RuntimeConfiguration parameter. Requests that use this parameter instead continue to be valid.

", - "FleetAttributes$ServerLaunchParameters": "

This parameter is no longer used. Server launch parameters are now defined using the fleet's runtime configuration . Requests that use this parameter instead continue to be valid.

", + "FleetAttributes$ServerLaunchParameters": "

This parameter is no longer used. Server launch parameters are now defined using the fleet's runtime configuration . Requests that use this parameter continue to be valid.

", "ServerProcess$Parameters": "

An optional list of parameters to pass to the server executable or Realtime script on launch.

" } }, @@ -1868,7 +2197,7 @@ "base": null, "refs": { "CreateFleetInput$ServerLaunchPath": "

This parameter is no longer used. Specify a server launch path using the RuntimeConfiguration parameter. Requests that use this parameter instead continue to be valid.

", - "FleetAttributes$ServerLaunchPath": "

This parameter is no longer used. Server launch paths are now defined using the fleet's RuntimeConfiguration . Requests that use this parameter instead continue to be valid.

", + "FleetAttributes$ServerLaunchPath": "

This parameter is no longer used. Server launch paths are now defined using the fleet's RuntimeConfiguration . Requests that use this parameter continue to be valid.

", "ServerProcess$LaunchPath": "

The location of a game build executable or Realtime script. Game builds and Realtime scripts are installed on instances at the root:

Amazon GameLift doesn't support the use of setup scripts that launch the game executable. For custom game builds, this parameter must indicate the executable that calls the server SDK operations initSDK() and ProcessReady().

" } }, @@ -1931,6 +2260,22 @@ "refs": { } }, + "ListContainerGroupDefinitionsInput": { + "base": null, + "refs": { + } + }, + "ListContainerGroupDefinitionsLimit": { + "base": null, + "refs": { + "ListContainerGroupDefinitionsInput$Limit": "

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + } + }, + "ListContainerGroupDefinitionsOutput": { + "base": null, + "refs": { + } + }, "ListFleetsInput": { "base": null, "refs": { @@ -2016,7 +2361,7 @@ } }, "LocationConfiguration": { - "base": "

A remote location where a multi-location fleet can deploy game servers for game hosting.

", + "base": "

This data type has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

A remote location where a multi-location fleet can deploy game servers for game hosting.

", "refs": { "LocationConfigurationList$member": null } @@ -2024,7 +2369,7 @@ "LocationConfigurationList": { "base": null, "refs": { - "CreateFleetInput$Locations": "

A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in Amazon Web Services Regions that support multiple locations. You can add any Amazon GameLift-supported Amazon Web Services Region as a remote location, in the form of an Amazon Web Services Region code such as us-west-2. To create a fleet with instances in the home Region only, don't use this parameter.

To use this parameter, Amazon GameLift requires you to use your home location in the request.

", + "CreateFleetInput$Locations": "

A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in Amazon Web Services Regions that support multiple locations. You can add any Amazon GameLift-supported Amazon Web Services Region as a remote location, in the form of an Amazon Web Services Region code, such as us-west-2 or Local Zone code. To create a fleet with instances in the home Region only, don't set this parameter.

When using this parameter, Amazon GameLift requires you to include your home location in the request.

", "CreateFleetLocationsInput$Locations": "

A list of locations to deploy additional instances to and manage as part of the fleet. You can add any Amazon GameLift-supported Amazon Web Services Region as a remote location, in the form of an Amazon Web Services Region code such as us-west-2.

" } }, @@ -2050,7 +2395,7 @@ } }, "LocationModel": { - "base": "

Properties of a location

", + "base": "

Properties of a custom location for use in an Amazon GameLift Anywhere fleet. This data type is returned in response to a call to https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateLocation.html.

", "refs": { "CreateLocationOutput$Location": "

The details of the custom location you created.

", "LocationModelList$member": null @@ -2096,7 +2441,7 @@ "FleetUtilization$Location": "

The fleet location for the fleet utilization information, expressed as an Amazon Web Services Region code, such as us-west-2.

", "GameSession$Location": "

The fleet location where the game session is running. This value might specify the fleet's home Region or a remote location. Location is expressed as an Amazon Web Services Region code such as us-west-2.

", "Instance$Location": "

The fleet location of the instance, expressed as an Amazon Web Services Region code, such as us-west-2.

", - "ListComputeInput$Location": "

The name of a location to retrieve compute resources for.

", + "ListComputeInput$Location": "

The name of a location to retrieve compute resources for. For an Amazon GameLift Anywhere fleet, use a custom location. For a multi-location EC2 or container fleet, provide a Amazon Web Services Region or Local Zone code (for example: us-west-2 or us-west-2-lax-1).

", "LocationConfiguration$Location": "

An Amazon Web Services Region code, such as us-west-2.

", "LocationList$member": null, "LocationModel$LocationName": "

The location's name.

", @@ -2272,7 +2617,7 @@ "MaxConcurrentGameSessionActivations": { "base": null, "refs": { - "RuntimeConfiguration$MaxConcurrentGameSessionActivations": "

The number of game sessions in status ACTIVATING to allow on an instance. This setting limits the instance resources that can be used for new game activations at any one time.

" + "RuntimeConfiguration$MaxConcurrentGameSessionActivations": "

The number of game sessions in status ACTIVATING to allow on an instance or container. This setting limits the instance resources that can be used for new game activations at any one time.

" } }, "MetricGroup": { @@ -2285,7 +2630,7 @@ "base": null, "refs": { "CreateFleetInput$MetricGroups": "

The name of an Amazon Web Services CloudWatch metric group to add this fleet to. A metric group is used to aggregate the metrics for multiple fleets. You can specify an existing metric group name or set a new name to create a new metric group. A fleet can be included in only one metric group at a time.

", - "FleetAttributes$MetricGroups": "

Name of a metric group that metrics for this fleet are added to. In Amazon CloudWatch, you can view aggregated metrics for fleets that are in a metric group. A fleet can be included in only one metric group at a time.

", + "FleetAttributes$MetricGroups": "

Name of a metric group that metrics for this fleet are added to. In Amazon CloudWatch, you can view aggregated metrics for fleets that are in a metric group. A fleet can be included in only one metric group at a time. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", "UpdateFleetAttributesInput$MetricGroups": "

The name of a metric group to add this fleet to. Use a metric group in Amazon CloudWatch to aggregate the metrics from multiple fleets. Provide an existing metric group name, or create a new metric group by providing a new name. A fleet can only be in one metric group at a time.

" } }, @@ -2313,7 +2658,7 @@ "ConflictException$Message": null, "CreateFleetInput$InstanceRoleArn": "

A unique identifier for an IAM role with access permissions to other Amazon Web Services services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with Amazon Web Services resources that you own or have access to. For more information about using the role with your game server builds, see Communicate with other Amazon Web Services resources from your fleets. This fleet property can't be changed after the fleet is created.

", "Event$Message": "

Additional information related to the event.

", - "FleetAttributes$InstanceRoleArn": "

A unique identifier for an IAM role with access permissions to other Amazon Web Services services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with Amazon Web Services resources that you own or have access to. For more information about using the role with your game server builds, see Communicate with other Amazon Web Services resources from your fleets.

", + "FleetAttributes$InstanceRoleArn": "

A unique identifier for an IAM role with access permissions to other Amazon Web Services services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with Amazon Web Services resources that you own or have access to. For more information about using the role with your game server builds, see Communicate with other Amazon Web Services resources from your fleets. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", "FleetCapacityExceededException$Message": null, "GameSessionFullException$Message": null, "IdempotentParameterMismatchException$Message": null, @@ -2330,9 +2675,12 @@ "ListAliasesOutput$NextToken": "

A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

", "ListBuildsInput$NextToken": "

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, don't specify a value.

", "ListBuildsOutput$NextToken": "

A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

", + "ListContainerGroupDefinitionsInput$NextToken": "

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

", + "ListContainerGroupDefinitionsOutput$NextToken": "

A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

", "ListScriptsInput$NextToken": "

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, don't specify a value.

", "ListScriptsOutput$NextToken": "

A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

", "NotFoundException$Message": null, + "NotReadyException$Message": null, "OutOfCapacityException$Message": null, "S3Location$Bucket": "

An Amazon S3 bucket identifier. Thename of the S3 bucket.

Amazon GameLift doesn't support uploading from Amazon S3 buckets with names that contain a dot (.).

", "S3Location$Key": "

The name of the zip file that contains the build files or script files.

", @@ -2356,9 +2704,29 @@ "AnywhereConfiguration$Cost": "

The cost to run your fleet per hour. Amazon GameLift uses the provided cost of your fleet to balance usage in queues. For more information about queues, see Setting up queues in the Amazon GameLift Developer Guide.

" } }, + "NonZeroAnd128MaxAsciiString": { + "base": null, + "refs": { + "ContainerDefinition$ContainerName": "

The container definition identifier. Container names are unique within a container group definition.

", + "ContainerDefinitionInput$ContainerName": "

A string that uniquely identifies the container definition within a container group.

", + "ContainerDependency$ContainerName": "

A descriptive label for the container definition that this container depends on.

" + } + }, + "NonZeroAnd255MaxString": { + "base": null, + "refs": { + "ContainerCommandStringList$member": null, + "ContainerDefinition$WorkingDirectory": "

The directory in the container where commands are run. See the ContainerDefinition::workingDirectory parameter in the Amazon Elastic Container Service API Reference.

", + "ContainerDefinitionInput$WorkingDirectory": "

The directory in the container where commands are run. See the ContainerDefinition::workingDirectory parameter in the Amazon Elastic Container Service API Reference.

", + "ContainerEnvironment$Name": "

The environment variable name.

", + "ContainerEnvironment$Value": "

The environment variable value.

" + } + }, "NonZeroAndMaxString": { "base": null, "refs": { + "ContainerEntryPointList$member": null, + "ContainerGroupDefinition$StatusReason": "

Additional information about a container group definition that's in FAILED status. Possible reasons include:

", "CreateAliasInput$Description": "

A human-readable description of the alias.

", "CreateBuildInput$Name": "

A descriptive label associated with a build. Build names don't need to be unique. You can change this value later.

", "CreateBuildInput$Version": "

Version information associated with a build or script. Version strings don't need to be unique. You can change this value later.

", @@ -2477,13 +2845,18 @@ "refs": { } }, + "NotReadyException": { + "base": "

The operation failed because Amazon GameLift has not yet finished validating this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes with exponential backoffs and jitter.

", + "refs": { + } + }, "OperatingSystem": { "base": null, "refs": { "Build$OperatingSystem": "

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

", "Compute$OperatingSystem": "

The type of operating system on the compute resource.

", "CreateBuildInput$OperatingSystem": "

The operating system that your game server binaries run on. This value determines the type of fleet resources that you use for this build. If your game build contains multiple executables, they all must run on the same operating system. You must specify a valid operating system in this request. There is no default value. You can't change a build's operating system later.

If you have active fleets using the Windows Server 2012 operating system, you can continue to create new builds using this OS until October 10, 2023, when Microsoft ends its support. All others must use Windows Server 2016 when creating new Windows-based builds.

", - "FleetAttributes$OperatingSystem": "

The operating system of the fleet's computing resources. A fleet's operating system is determined by the OS of the build or script that is deployed on this fleet.

", + "FleetAttributes$OperatingSystem": "

The operating system of the fleet's computing resources. A fleet's operating system is determined by the OS of the build or script that is deployed on this fleet. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", "Instance$OperatingSystem": "

Operating system that is running on this EC2 instance.

", "InstanceAccess$OperatingSystem": "

Operating system that is running on the instance.

" } @@ -2660,6 +3033,12 @@ "PortNumber": { "base": null, "refs": { + "ConnectionPortRange$FromPort": "

Starting value for the port range.

", + "ConnectionPortRange$ToPort": "

Ending value for the port. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.

", + "ContainerPortMapping$ContainerPort": "

The port opened on the container.

", + "ContainerPortMapping$ConnectionPort": "

The port opened on the fleet instance. This is also called the \"host port\".

", + "ContainerPortRange$FromPort": "

A starting value for the range of allowed port numbers.

", + "ContainerPortRange$ToPort": "

An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.

", "GameSession$Port": "

The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

", "GameSessionPlacement$Port": "

The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value isn't final until placement status is FULFILLED.

", "IpPermission$FromPort": "

A starting value for a range of allowed port numbers.

For fleets using Linux builds, only ports 22 and 1026-60000 are valid.

For fleets using Windows builds, only ports 1026-60000 are valid.

", @@ -2697,7 +3076,7 @@ "PutScalingPolicyInput$EvaluationPeriods": "

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

", "ScalingPolicy$EvaluationPeriods": "

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

", "SearchGameSessionsInput$Limit": "

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20.

", - "ServerProcess$ConcurrentExecutions": "

The number of server processes using this configuration that run concurrently on each instance.

" + "ServerProcess$ConcurrentExecutions": "

The number of server processes using this configuration that run concurrently on each instance or container..

" } }, "PositiveLong": { @@ -2731,7 +3110,7 @@ "base": null, "refs": { "CreateFleetInput$NewGameSessionProtectionPolicy": "

The status of termination protection for active game sessions on the fleet. By default, this property is set to NoProtection. You can also set game session protection for an individual game session by calling UpdateGameSession.

", - "FleetAttributes$NewGameSessionProtectionPolicy": "

The type of game session protection to set on all new instances that are started in the fleet.

", + "FleetAttributes$NewGameSessionProtectionPolicy": "

The type of game session protection to set on all new instances that are started in the fleet. This attribute is used with fleets where ComputeType is \"EC2\" or \"Container\".

", "GameSessionDetail$ProtectionPolicy": "

Current status of protection for the game session.

", "UpdateFleetAttributesInput$NewGameSessionProtectionPolicy": "

The game session protection policy to apply to all new game sessions created in this fleet. Game sessions that already exist are not affected. You can set protection for individual game sessions using UpdateGameSession .

", "UpdateGameSessionInput$ProtectionPolicy": "

Game session protection policy to apply to this game session only.

" @@ -2791,6 +3170,20 @@ "refs": { } }, + "ReplicaContainerGroupCounts": { + "base": "

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

The number and status of replica container groups that are deployed across a fleet with compute type CONTAINER. This information, combined with the number of server processes being hosted per container group (see RuntimeConfiguration), tells you how many game sessions the fleet is currently capable of hosting concurrently.

Returned by: DescribeFleetCapacity, DescribeFleetLocationCapacity

", + "refs": { + "FleetCapacity$ReplicaContainerGroupCounts": "

This property is used with the Amazon GameLift containers feature, which is currently in public preview. The number and status of replica container groups in a container fleet.

" + } + }, + "ReplicaContainerGroupsPerInstance": { + "base": null, + "refs": { + "ContainerGroupsConfiguration$DesiredReplicaContainerGroupsPerInstance": "

The number of times to replicate the replica container group on each instance in a container fleet. By default, Amazon GameLift calculates the maximum number of replica container groups that can fit on a fleet instance (based on CPU and memory resources). Leave this parameter empty if you want to use the maximum number, or specify a desired number to override the maximum. The desired number is used if it's less than the maximum number.

", + "ContainerGroupsPerInstance$DesiredReplicaContainerGroupsPerInstance": "

The desired number of replica container groups to place on each fleet instance.

", + "ContainerGroupsPerInstance$MaxReplicaContainerGroupsPerInstance": "

The maximum possible number of replica container groups that each fleet instance can have.

" + } + }, "RequestUploadCredentialsInput": { "base": null, "refs": { @@ -2859,12 +3252,12 @@ } }, "RuntimeConfiguration": { - "base": "

A collection of server process configurations that describe the set of processes to run on each instance in a fleet. Server processes run either an executable in a custom game build or a Realtime Servers script. Amazon GameLift launches the configured processes, manages their life cycle, and replaces them as needed. Each instance checks regularly for an updated runtime configuration.

A Amazon GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes in a runtime configuration, add the values of the ConcurrentExecutions parameter for each server process. Learn more about Running Multiple Processes on a Fleet.

", + "base": "

This data type has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

A set of instructions that define the set of server processes to run on computes in a fleet. Server processes run either an executable in a custom game build or a Realtime Servers script. Amazon GameLift launches the processes, manages their life cycle, and replaces them as needed. Computes check regularly for an updated runtime configuration.

On a container fleet, the Amazon GameLift Agent uses the runtime configuration to manage the lifecycle of server processes in a replica container group.

An Amazon GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes defined in a runtime configuration, add the values of the ConcurrentExecutions parameter for each server process. Learn more about Running Multiple Processes on a Fleet.

", "refs": { - "CreateFleetInput$RuntimeConfiguration": "

Instructions for how to launch and maintain server processes on instances in the fleet. The runtime configuration defines one or more server process configurations, each identifying a build executable or Realtime script file and the number of processes of that type to run concurrently.

The RuntimeConfiguration parameter is required unless the fleet is being configured using the older parameters ServerLaunchPath and ServerLaunchParameters, which are still supported for backward compatibility.

", - "DescribeRuntimeConfigurationOutput$RuntimeConfiguration": "

Instructions that describe how server processes should be launched and maintained on each instance in the fleet.

", - "UpdateRuntimeConfigurationInput$RuntimeConfiguration": "

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run on an instance, how to launch them, and the number of processes to run concurrently.

", - "UpdateRuntimeConfigurationOutput$RuntimeConfiguration": "

The runtime configuration currently in use by all instances in the fleet. If the update was successful, all property changes are shown.

" + "CreateFleetInput$RuntimeConfiguration": "

Instructions for how to launch and run server processes on the fleet. Set runtime configuration for EC2 fleets and container fleets. For an Anywhere fleets, set this parameter only if the fleet is running the Amazon GameLift Agent. The runtime configuration defines one or more server process configurations. Each server process identifies a game executable or Realtime script file and the number of processes to run concurrently.

This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters, which are still supported for backward compatibility.

", + "DescribeRuntimeConfigurationOutput$RuntimeConfiguration": "

Instructions that describe how server processes are launched and maintained on computes in the fleet.

", + "UpdateRuntimeConfigurationInput$RuntimeConfiguration": "

Instructions for launching server processes on fleet computes. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run, how to launch them, and the number of processes to run concurrently.

", + "UpdateRuntimeConfigurationOutput$RuntimeConfiguration": "

The runtime configuration currently in use by computes in the fleet. If the update is successful, all property changes are shown.

" } }, "S3Location": { @@ -2923,14 +3316,14 @@ "ScriptId": { "base": null, "refs": { - "FleetAttributes$ScriptId": "

A unique identifier for the Realtime script resource that is deployed on instances in this fleet.

", + "FleetAttributes$ScriptId": "

A unique identifier for the Realtime script resource that is deployed on instances in this fleet. This attribute is used with fleets where ComputeType is \"EC2\".

", "Script$ScriptId": "

A unique identifier for the Realtime script

" } }, "ScriptIdOrArn": { "base": null, "refs": { - "CreateFleetInput$ScriptId": "

The unique identifier for a Realtime configuration script to be deployed on fleet instances. You can use either the script ID or ARN. Scripts must be uploaded to Amazon GameLift prior to creating the fleet. This fleet property can't be changed after the fleet is created.

", + "CreateFleetInput$ScriptId": "

The unique identifier for a Realtime configuration script to be deployed to a fleet with compute type EC2. You can use either the script ID or ARN. Scripts must be uploaded to Amazon GameLift prior to creating the fleet. This fleet property can't be changed after the fleet is created.

", "DeleteScriptInput$ScriptId": "

A unique identifier for the Realtime script to delete. You can use either the script ID or ARN value.

", "DescribeScriptInput$ScriptId": "

A unique identifier for the Realtime script to retrieve properties for. You can use either the script ID or ARN value.

", "ListFleetsInput$ScriptId": "

A unique identifier for the Realtime script to request fleets for. Use this parameter to return only fleets using a specified script. Use either the script ID or ARN value.

", @@ -2954,7 +3347,7 @@ } }, "ServerProcess": { - "base": "

A set of instructions for launching server processes on each instance in a fleet. Server processes run either an executable in a custom game build or a Realtime Servers script. Server process configurations are part of a fleet's runtime configuration.

", + "base": "

A set of instructions for launching server processes on fleet computes. Server processes run either an executable in a custom game build or a Realtime Servers script. Server process configurations are part of a fleet's runtime configuration.

", "refs": { "ServerProcessList$member": null } @@ -2962,7 +3355,7 @@ "ServerProcessList": { "base": null, "refs": { - "RuntimeConfiguration$ServerProcesses": "

A collection of server process configurations that identify what server processes to run on each instance in a fleet.

" + "RuntimeConfiguration$ServerProcesses": "

A collection of server process configurations that identify what server processes to run on fleet computes.

" } }, "ServerSdkVersion": { @@ -2972,6 +3365,18 @@ "CreateBuildInput$ServerSdkVersion": "

A server SDK version you used when integrating your game server build with Amazon GameLift. For more information see Integrate games with custom game servers. By default Amazon GameLift sets this value to 4.0.2.

" } }, + "SessionTarget": { + "base": null, + "refs": { + "GetComputeAccessOutput$Target": "

(For container fleets only) The instance ID where the compute resource is running.

" + } + }, + "Sha256": { + "base": null, + "refs": { + "ContainerDefinition$ResolvedImageDigest": "

A unique and immutable identifier for the container image that is deployed to a container fleet. The digest is a SHA 256 hash of the container image manifest.

" + } + }, "SnsArnStringModel": { "base": null, "refs": { @@ -3104,6 +3509,7 @@ "refs": { "CreateAliasInput$Tags": "

A list of labels to assign to the new alias resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateBuildInput$Tags": "

A list of labels to assign to the new build resource. Tags are developer defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual tagging limits.

", + "CreateContainerGroupDefinitionInput$Tags": "

A list of labels to assign to the container group definition resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateFleetInput$Tags": "

A list of labels to assign to the new fleet resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateGameServerGroupInput$Tags": "

A list of labels to assign to the new game server group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management, and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateGameSessionQueueInput$Tags": "

A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", @@ -3161,6 +3567,7 @@ "Alias$LastUpdatedTime": "

The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "Build$CreationTime": "

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "Compute$CreationTime": "

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "ContainerGroupDefinition$CreationTime": "

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "DescribeFleetEventsInput$StartTime": "

The earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

", "DescribeFleetEventsInput$EndTime": "

The most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

", "Event$EventTime": "

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", @@ -3415,6 +3822,10 @@ "MatchmakingTicket$EstimatedWaitTime": "

Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.

", "PlayerLatencyPolicy$MaximumIndividualPlayerLatencyMilliseconds": "

The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.

", "PlayerLatencyPolicy$PolicyDurationSeconds": "

The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.

", + "ReplicaContainerGroupCounts$PENDING": "

The number of container groups that are starting up but have not yet registered.

", + "ReplicaContainerGroupCounts$ACTIVE": "

The number of container groups that have active game sessions.

", + "ReplicaContainerGroupCounts$IDLE": "

The number of container groups that have no active game sessions.

", + "ReplicaContainerGroupCounts$TERMINATING": "

The number of container groups that are in the process of shutting down.

", "ResourceCreationLimitPolicy$NewGameSessionsPerCreator": "

A policy that puts limits on the number of game sessions that a player can create within a specified span of time. With this policy, you can control players' ability to consume available resources.

The policy is evaluated when a player tries to create a new game session. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than game session limit in the specified time period.

", "ResourceCreationLimitPolicy$PolicyPeriodInMinutes": "

The time span used in evaluating the resource creation limit policy.

", "StartGameSessionPlacementInput$MaximumPlayerSessionCount": "

The maximum number of players that can be connected simultaneously to the game session.

", diff --git a/models/apis/gamelift/2015-10-01/paginators-1.json b/models/apis/gamelift/2015-10-01/paginators-1.json index 9765c0a9e16..9ab227f71c5 100644 --- a/models/apis/gamelift/2015-10-01/paginators-1.json +++ b/models/apis/gamelift/2015-10-01/paginators-1.json @@ -101,6 +101,12 @@ "limit_key": "Limit", "result_key": "ComputeList" }, + "ListContainerGroupDefinitions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "ContainerGroupDefinitions" + }, "ListFleets": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 19a1d600c7a..9640d530c90 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"ssm", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Amazon SSM", "serviceFullName":"Amazon Simple Systems Manager (SSM)", "serviceId":"SSM", @@ -682,6 +683,24 @@ {"shape":"InvalidNextToken"} ] }, + "DescribeInstanceProperties":{ + "name":"DescribeInstanceProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstancePropertiesRequest"}, + "output":{"shape":"DescribeInstancePropertiesResult"}, + "errors":[ + {"shape":"InvalidNextToken"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidActivationId"}, + {"shape":"InvalidInstancePropertyFilterValue"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidDocument"} + ] + }, "DescribeInventoryDeletions":{ "name":"DescribeInventoryDeletions", "http":{ @@ -2214,6 +2233,10 @@ "max":360, "min":0 }, + "Architecture":{ + "type":"string", + "max":120 + }, "AssociateOpsItemRelatedItemRequest":{ "type":"structure", "required":[ @@ -4278,6 +4301,31 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeInstancePropertiesMaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":5 + }, + "DescribeInstancePropertiesRequest":{ + "type":"structure", + "members":{ + "InstancePropertyFilterList":{"shape":"InstancePropertyFilterList"}, + "FiltersWithOperator":{"shape":"InstancePropertyStringFilterList"}, + "MaxResults":{ + "shape":"DescribeInstancePropertiesMaxResults", + "box":true + }, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeInstancePropertiesResult":{ + "type":"structure", + "members":{ + "InstanceProperties":{"shape":"InstanceProperties"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeInventoryDeletionsRequest":{ "type":"structure", "members":{ @@ -5905,6 +5953,10 @@ "member":{"shape":"InstanceInformationStringFilter"}, "min":0 }, + "InstanceName":{ + "type":"string", + "max":255 + }, "InstancePatchState":{ "type":"structure", "required":[ @@ -6008,10 +6060,134 @@ "max":5, "min":1 }, + "InstanceProperties":{ + "type":"list", + "member":{"shape":"InstanceProperty"} + }, + "InstanceProperty":{ + "type":"structure", + "members":{ + "Name":{"shape":"InstanceName"}, + "InstanceId":{"shape":"InstanceId"}, + "InstanceType":{"shape":"InstanceType"}, + "InstanceRole":{"shape":"InstanceRole"}, + "KeyName":{"shape":"KeyName"}, + "InstanceState":{"shape":"InstanceState"}, + "Architecture":{"shape":"Architecture"}, + "IPAddress":{"shape":"IPAddress"}, + "LaunchTime":{"shape":"DateTime"}, + "PingStatus":{"shape":"PingStatus"}, + "LastPingDateTime":{"shape":"DateTime"}, + "AgentVersion":{"shape":"Version"}, + "PlatformType":{"shape":"PlatformType"}, + "PlatformName":{"shape":"PlatformName"}, + "PlatformVersion":{"shape":"PlatformVersion"}, + "ActivationId":{"shape":"ActivationId"}, + "IamRole":{"shape":"IamRole"}, + "RegistrationDate":{"shape":"DateTime"}, + "ResourceType":{"shape":"String"}, + "ComputerName":{"shape":"ComputerName"}, + "AssociationStatus":{"shape":"StatusName"}, + "LastAssociationExecutionDate":{"shape":"DateTime"}, + "LastSuccessfulAssociationExecutionDate":{"shape":"DateTime"}, + "AssociationOverview":{"shape":"InstanceAggregatedAssociationOverview"}, + "SourceId":{"shape":"SourceId"}, + "SourceType":{"shape":"SourceType"} + } + }, + "InstancePropertyFilter":{ + "type":"structure", + "required":[ + "key", + "valueSet" + ], + "members":{ + "key":{"shape":"InstancePropertyFilterKey"}, + "valueSet":{"shape":"InstancePropertyFilterValueSet"} + } + }, + "InstancePropertyFilterKey":{ + "type":"string", + "enum":[ + "InstanceIds", + "AgentVersion", + "PingStatus", + "PlatformTypes", + "DocumentName", + "ActivationIds", + "IamRole", + "ResourceType", + "AssociationStatus" + ] + }, + "InstancePropertyFilterList":{ + "type":"list", + "member":{"shape":"InstancePropertyFilter"}, + "max":40, + "min":1 + }, + "InstancePropertyFilterOperator":{ + "type":"string", + "enum":[ + "Equal", + "NotEqual", + "BeginWith", + "LessThan", + "GreaterThan" + ] + }, + "InstancePropertyFilterValue":{ + "type":"string", + "max":100000, + "min":1, + "pattern":"^.{1,100000}$" + }, + "InstancePropertyFilterValueSet":{ + "type":"list", + "member":{"shape":"InstancePropertyFilterValue"}, + "max":40, + "min":1 + }, + "InstancePropertyStringFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{"shape":"InstancePropertyStringFilterKey"}, + "Values":{"shape":"InstancePropertyFilterValueSet"}, + "Operator":{"shape":"InstancePropertyFilterOperator"} + } + }, + "InstancePropertyStringFilterKey":{ + "type":"string", + "max":100000, + "min":1, + "pattern":"^.{1,100000}$" + }, + "InstancePropertyStringFilterList":{ + "type":"list", + "member":{"shape":"InstancePropertyStringFilter"}, + "max":40, + "min":1 + }, + "InstanceRole":{ + "type":"string", + "max":120 + }, + "InstanceState":{ + "type":"string", + "max":120 + }, "InstanceTagName":{ "type":"string", "max":255 }, + "InstanceType":{ + "type":"string", + "max":120 + }, "InstancesCount":{"type":"integer"}, "Integer":{"type":"integer"}, "InternalServerError":{ @@ -6188,6 +6364,13 @@ }, "exception":true }, + "InvalidInstancePropertyFilterValue":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "exception":true + }, "InvalidInventoryGroupException":{ "type":"structure", "members":{ @@ -6666,6 +6849,10 @@ "type":"list", "member":{"shape":"TagKey"} }, + "KeyName":{ + "type":"string", + "max":255 + }, "LabelParameterVersionRequest":{ "type":"structure", "required":[ @@ -8999,6 +9186,10 @@ "Inactive" ] }, + "PlatformName":{ + "type":"string", + "max":120 + }, "PlatformType":{ "type":"string", "enum":[ @@ -9011,6 +9202,10 @@ "type":"list", "member":{"shape":"PlatformType"} }, + "PlatformVersion":{ + "type":"string", + "max":120 + }, "PoliciesLimitExceededException":{ "type":"structure", "members":{ diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index 951065176b8..a00147b5cf7 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -47,6 +47,7 @@ "DescribeInstancePatchStates": "

Retrieves the high-level patch state of one or more managed nodes.

", "DescribeInstancePatchStatesForPatchGroup": "

Retrieves the high-level patch state for the managed nodes in the specified patch group.

", "DescribeInstancePatches": "

Retrieves information about the patches on the specified managed node and their state relative to the patch baseline being used for the node.

", + "DescribeInstanceProperties": "

An API operation used by the Systems Manager console to display information about Systems Manager managed nodes.

", "DescribeInventoryDeletions": "

Describes a specific delete inventory operation.

", "DescribeMaintenanceWindowExecutionTaskInvocations": "

Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.

", "DescribeMaintenanceWindowExecutionTasks": "

For a given maintenance window execution, lists the tasks that were run.

", @@ -207,7 +208,8 @@ "Activation$ActivationId": "

The ID created by Systems Manager when you submitted the activation.

", "CreateActivationResult$ActivationId": "

The ID number generated by the system when it processed the activation. The activation ID functions like a user name.

", "DeleteActivationRequest$ActivationId": "

The ID of the activation that you want to delete.

", - "InstanceInformation$ActivationId": "

The activation ID created by Amazon Web Services Systems Manager when the server or virtual machine (VM) was registered.

" + "InstanceInformation$ActivationId": "

The activation ID created by Amazon Web Services Systems Manager when the server or virtual machine (VM) was registered.

", + "InstanceProperty$ActivationId": "

The activation ID created by Systems Manager when the server or virtual machine (VM) was registered

" } }, "ActivationList": { @@ -328,6 +330,12 @@ "PatchRule$ApproveAfterDays": "

The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of 7 means that patches are approved seven days after they are released. Not supported on Debian Server or Ubuntu Server.

" } }, + "Architecture": { + "base": null, + "refs": { + "InstanceProperty$Architecture": "

The CPU architecture of the node. For example, x86_64.

" + } + }, "AssociateOpsItemRelatedItemRequest": { "base": null, "refs": { @@ -1439,7 +1447,8 @@ "ComputerName": { "base": null, "refs": { - "InstanceInformation$ComputerName": "

The fully qualified host name of the managed node.

" + "InstanceInformation$ComputerName": "

The fully qualified host name of the managed node.

", + "InstanceProperty$ComputerName": "

The fully qualified host name of the managed node.

" } }, "ConnectionStatus": { @@ -1621,6 +1630,11 @@ "InstancePatchState$OperationStartTime": "

The time the most recent patching operation was started on the managed node.

", "InstancePatchState$OperationEndTime": "

The time the most recent patching operation completed on the managed node.

", "InstancePatchState$LastNoRebootInstallOperationTime": "

The time of the last attempt to patch the managed node with NoReboot specified as the reboot option.

", + "InstanceProperty$LaunchTime": "

The timestamp for when the node was launched.

", + "InstanceProperty$LastPingDateTime": "

The date and time when the SSM Agent last pinged the Systems Manager service.

", + "InstanceProperty$RegistrationDate": "

The date the node was registered with Systems Manager.

", + "InstanceProperty$LastAssociationExecutionDate": "

The date the association was last run.

", + "InstanceProperty$LastSuccessfulAssociationExecutionDate": "

The last date the association was successfully run.

", "MaintenanceWindowExecution$StartTime": "

The time the execution started.

", "MaintenanceWindowExecution$EndTime": "

The time the execution finished.

", "MaintenanceWindowExecutionTaskIdentity$StartTime": "

The time the task execution started.

", @@ -2023,6 +2037,22 @@ "refs": { } }, + "DescribeInstancePropertiesMaxResults": { + "base": null, + "refs": { + "DescribeInstancePropertiesRequest$MaxResults": "

The maximum number of items to return for the call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

" + } + }, + "DescribeInstancePropertiesRequest": { + "base": null, + "refs": { + } + }, + "DescribeInstancePropertiesResult": { + "base": null, + "refs": { + } + }, "DescribeInventoryDeletionsRequest": { "base": null, "refs": { @@ -2391,7 +2421,7 @@ "AutomationExecutionMetadata$DocumentName": "

The name of the Automation runbook used during execution.

", "Command$DocumentName": "

The name of the document requested for execution.

", "CommandInvocation$DocumentName": "

The document name that was requested for execution.

", - "CreateDocumentRequest$Name": "

A name for the SSM document.

You can't use the following strings as document name prefixes. These are reserved by Amazon Web Services for use as document name prefixes:

", + "CreateDocumentRequest$Name": "

A name for the SSM document.

You can't use the following strings as document name prefixes. These are reserved by Amazon Web Services for use as document name prefixes:

", "DeleteDocumentRequest$Name": "

The name of the document.

", "DescribeDocumentPermissionRequest$Name": "

The name of the document for which you are the owner.

", "DocumentDefaultVersionDescription$Name": "

The name of the document.

", @@ -3058,7 +3088,8 @@ "IPAddress": { "base": null, "refs": { - "InstanceInformation$IPAddress": "

The IP address of the managed node.

" + "InstanceInformation$IPAddress": "

The IP address of the managed node.

", + "InstanceProperty$IPAddress": "

The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.

" } }, "ISO8601String": { @@ -3075,6 +3106,7 @@ "Activation$IamRole": "

The Identity and Access Management (IAM) role to assign to the managed node.

", "CreateActivationRequest$IamRole": "

The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal ssm.amazonaws.com. For more information, see Create an IAM service role for a hybrid and multicloud environment in the Amazon Web Services Systems Manager User Guide.

You can't specify an IAM service-linked role for this parameter. You must create a unique role.

", "InstanceInformation$IamRole": "

The Identity and Access Management (IAM) role assigned to the on-premises Systems Manager managed node. This call doesn't return the IAM role for Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an EC2 instance, use the Amazon EC2 DescribeInstances operation. For information, see DescribeInstances in the Amazon EC2 API Reference or describe-instances in the Amazon Web Services CLI Command Reference.

", + "InstanceProperty$IamRole": "

The IAM role used in the hybrid activation to register the node with Systems Manager.

", "UpdateManagedInstanceRoleRequest$IamRole": "

The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal ssm.amazonaws.com. For more information, see Create an IAM service role for a hybrid and multicloud environment in the Amazon Web Services Systems Manager User Guide.

You can't specify an IAM service-linked role for this parameter. You must create a unique role.

" } }, @@ -3104,7 +3136,8 @@ "InstanceAggregatedAssociationOverview": { "base": "

Status information about the aggregated associations.

", "refs": { - "InstanceInformation$AssociationOverview": "

Information about the association.

" + "InstanceInformation$AssociationOverview": "

Information about the association.

", + "InstanceProperty$AssociationOverview": null } }, "InstanceAssociation": { @@ -3188,6 +3221,7 @@ "InstanceIdList$member": null, "InstanceInformation$InstanceId": "

The managed node ID.

", "InstancePatchState$InstanceId": "

The ID of the managed node the high-level patch compliance information was collected for.

", + "InstanceProperty$InstanceId": "

The ID of the managed node.

", "ListCommandInvocationsRequest$InstanceId": "

(Optional) The command execution details for a specific managed node ID.

", "ListCommandsRequest$InstanceId": "

(Optional) Lists commands issued against this managed node ID.

You can't specify a managed node ID in the same command that you specify Status = Pending. This is because the command hasn't reached the managed node yet.

", "ListInventoryEntriesRequest$InstanceId": "

The managed node ID for which you want inventory information.

", @@ -3266,6 +3300,12 @@ "DescribeInstanceInformationRequest$Filters": "

One or more filters. Use a filter to return a more specific list of managed nodes. You can filter based on tags applied to your managed nodes. Tag filters can't be combined with other filter types. Use this Filters data type instead of InstanceInformationFilterList, which is deprecated.

" } }, + "InstanceName": { + "base": null, + "refs": { + "InstanceProperty$Name": "

The value of the EC2 Name tag associated with the node. If a Name tag hasn't been applied to the node, this value is blank.

" + } + }, "InstancePatchState": { "base": "

Defines the high-level patch compliance state for a managed node, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the managed node.

", "refs": { @@ -3321,12 +3361,97 @@ "DescribeInstancePatchStatesForPatchGroupResult$InstancePatchStates": "

The high-level patch state for the requested managed nodes.

" } }, + "InstanceProperties": { + "base": null, + "refs": { + "DescribeInstancePropertiesResult$InstanceProperties": "

Properties for the managed instances.

" + } + }, + "InstanceProperty": { + "base": "

An object containing various properties of a managed node.

", + "refs": { + "InstanceProperties$member": null + } + }, + "InstancePropertyFilter": { + "base": "

Describes a filter for a specific list of managed nodes. You can filter node information by using tags. You specify tags by using a key-value mapping.

", + "refs": { + "InstancePropertyFilterList$member": null + } + }, + "InstancePropertyFilterKey": { + "base": null, + "refs": { + "InstancePropertyFilter$key": "

The name of the filter.

" + } + }, + "InstancePropertyFilterList": { + "base": null, + "refs": { + "DescribeInstancePropertiesRequest$InstancePropertyFilterList": "

An array of instance property filters.

" + } + }, + "InstancePropertyFilterOperator": { + "base": null, + "refs": { + "InstancePropertyStringFilter$Operator": "

The operator used by the filter call.

" + } + }, + "InstancePropertyFilterValue": { + "base": null, + "refs": { + "InstancePropertyFilterValueSet$member": null + } + }, + "InstancePropertyFilterValueSet": { + "base": null, + "refs": { + "InstancePropertyFilter$valueSet": "

The filter values.

", + "InstancePropertyStringFilter$Values": "

The filter key name to describe your managed nodes.

" + } + }, + "InstancePropertyStringFilter": { + "base": "

The filters to describe or get information about your managed nodes.

", + "refs": { + "InstancePropertyStringFilterList$member": null + } + }, + "InstancePropertyStringFilterKey": { + "base": null, + "refs": { + "InstancePropertyStringFilter$Key": "

The filter key name to describe your managed nodes.

" + } + }, + "InstancePropertyStringFilterList": { + "base": null, + "refs": { + "DescribeInstancePropertiesRequest$FiltersWithOperator": "

The request filters to use with the operator.

" + } + }, + "InstanceRole": { + "base": null, + "refs": { + "InstanceProperty$InstanceRole": "

The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.

" + } + }, + "InstanceState": { + "base": null, + "refs": { + "InstanceProperty$InstanceState": "

The current state of the node.

" + } + }, "InstanceTagName": { "base": null, "refs": { "CommandInvocation$InstanceName": "

The fully qualified host name of the managed node.

" } }, + "InstanceType": { + "base": null, + "refs": { + "InstanceProperty$InstanceType": "

The instance type of the managed node. For example, t3.large.

" + } + }, "InstancesCount": { "base": null, "refs": { @@ -3483,6 +3608,11 @@ "refs": { } }, + "InvalidInstancePropertyFilterValue": { + "base": "

The specified filter value isn't valid.

", + "refs": { + } + }, "InvalidInventoryGroupException": { "base": "

The specified inventory group isn't valid.

", "refs": { @@ -3936,6 +4066,12 @@ "RemoveTagsFromResourceRequest$TagKeys": "

Tag keys that you want to remove from the specified resource.

" } }, + "KeyName": { + "base": null, + "refs": { + "InstanceProperty$KeyName": "

The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.

" + } + }, "LabelParameterVersionRequest": { "base": null, "refs": { @@ -4538,7 +4674,7 @@ "MaintenanceWindowStringDateTime": { "base": null, "refs": { - "CreateMaintenanceWindowRequest$StartDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

", + "CreateMaintenanceWindowRequest$StartDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.

", "CreateMaintenanceWindowRequest$EndDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

", "GetMaintenanceWindowResult$StartDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.

", "GetMaintenanceWindowResult$EndDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.

", @@ -4547,7 +4683,7 @@ "MaintenanceWindowIdentity$StartDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active.

", "MaintenanceWindowIdentity$NextExecutionTime": "

The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

", "ScheduledWindowExecution$ExecutionTime": "

The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.

", - "UpdateMaintenanceWindowRequest$StartDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

", + "UpdateMaintenanceWindowRequest$StartDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.

", "UpdateMaintenanceWindowRequest$EndDate": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

", "UpdateMaintenanceWindowResult$StartDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.

", "UpdateMaintenanceWindowResult$EndDate": "

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.

" @@ -4895,6 +5031,8 @@ "DescribeInstancePatchStatesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "DescribeInstancePatchesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeInstancePatchesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "DescribeInstancePropertiesRequest$NextToken": "

The token provided by a previous request to use to return the next set of properties.

", + "DescribeInstancePropertiesResult$NextToken": "

The token for the next set of properties to return. Use this token to get the next set of results.

", "DescribeInventoryDeletionsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", "DescribeInventoryDeletionsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "DescribeMaintenanceWindowExecutionTaskInvocationsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", @@ -5857,7 +5995,7 @@ "DeleteParametersRequest$Names": "

The names of the parameters to delete. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.

You can't enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

", "DeleteParametersResult$DeletedParameters": "

The names of the deleted parameters.

", "DeleteParametersResult$InvalidParameters": "

The names of parameters that weren't deleted because the parameters aren't valid.

", - "GetParametersRequest$Names": "

The names or Amazon Resource Names (ARNs) of the parameters that you want to query. For parameters shared with you from another account, you must use the full ARNs.

To query by parameter label, use \"Name\": \"name:label\". To query by parameter version, use \"Name\": \"name:version\".

For more information about shared parameters, see Working with shared parameters in the Amazon Web Services Systems Manager User Guide.

", + "GetParametersRequest$Names": "

The names or Amazon Resource Names (ARNs) of the parameters that you want to query. For parameters shared with you from another account, you must use the full ARNs.

To query by parameter label, use \"Name\": \"name:label\". To query by parameter version, use \"Name\": \"name:version\".

The results for GetParameters requests are listed in alphabetical order in query responses.

For information about shared parameters, see Working with shared parameters in the Amazon Web Services Systems Manager User Guide.

", "GetParametersResult$InvalidParameters": "

A list of parameters that aren't formatted correctly or don't run during an execution.

" } }, @@ -6558,13 +6696,21 @@ "PingStatus": { "base": null, "refs": { - "InstanceInformation$PingStatus": "

Connection status of SSM Agent.

The status Inactive has been deprecated and is no longer in use.

" + "InstanceInformation$PingStatus": "

Connection status of SSM Agent.

The status Inactive has been deprecated and is no longer in use.

", + "InstanceProperty$PingStatus": "

Connection status of the SSM Agent on the managed node.

" + } + }, + "PlatformName": { + "base": null, + "refs": { + "InstanceProperty$PlatformName": "

The name of the operating system platform running on your managed node.

" } }, "PlatformType": { "base": null, "refs": { "InstanceInformation$PlatformType": "

The operating system platform type.

", + "InstanceProperty$PlatformType": "

The operating system platform type of the managed node. For example, Windows.

", "PlatformTypeList$member": null } }, @@ -6575,6 +6721,12 @@ "DocumentIdentifier$PlatformTypes": "

The operating system platform.

" } }, + "PlatformVersion": { + "base": null, + "refs": { + "InstanceProperty$PlatformVersion": "

The version of the OS platform running on your managed node.

" + } + }, "PoliciesLimitExceededException": { "base": "

You specified more than the maximum number of allowed policies for the parameter. The maximum is 10.

", "refs": { @@ -7298,9 +7450,9 @@ "GetMaintenanceWindowTaskResult$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

", "MaintenanceWindowRunCommandParameters$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

", "MaintenanceWindowTask$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

", - "RegisterTaskWithMaintenanceWindowRequest$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

For more information, see Using service-linked roles for Systems Manager in the in the Amazon Web Services Systems Manager User Guide:

", + "RegisterTaskWithMaintenanceWindowRequest$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see Setting up maintenance windows in the in the Amazon Web Services Systems Manager User Guide.

", "SendCommandRequest$ServiceRoleArn": "

The ARN of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.

This role must provide the sns:Publish permission for your notification topic. For information about creating and using this service role, see Monitoring Systems Manager status changes using Amazon SNS notifications in the Amazon Web Services Systems Manager User Guide.

", - "UpdateMaintenanceWindowTaskRequest$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

For more information, see Using service-linked roles for Systems Manager in the in the Amazon Web Services Systems Manager User Guide:

", + "UpdateMaintenanceWindowTaskRequest$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see Setting up maintenance windows in the in the Amazon Web Services Systems Manager User Guide.

", "UpdateMaintenanceWindowTaskResult$ServiceRoleArn": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

" } }, @@ -7504,13 +7656,15 @@ "SourceId": { "base": null, "refs": { - "InstanceInformation$SourceId": "

The ID of the source resource. For IoT Greengrass devices, SourceId is the Thing name.

" + "InstanceInformation$SourceId": "

The ID of the source resource. For IoT Greengrass devices, SourceId is the Thing name.

", + "InstanceProperty$SourceId": "

The ID of the source resource.

" } }, "SourceType": { "base": null, "refs": { - "InstanceInformation$SourceType": "

The type of the source resource. For IoT Greengrass devices, SourceType is AWS::IoT::Thing.

" + "InstanceInformation$SourceType": "

The type of the source resource. For IoT Greengrass devices, SourceType is AWS::IoT::Thing.

", + "InstanceProperty$SourceType": "

The type of the source resource.

" } }, "StandardErrorContent": { @@ -7600,7 +7754,8 @@ "InstanceAssociationStatusAggregatedCount$key": null, "InstanceAssociationStatusInfo$Status": "

Status information about the association.

", "InstanceAssociationStatusInfo$DetailedStatus": "

Detailed status information about the association.

", - "InstanceInformation$AssociationStatus": "

The status of the association.

" + "InstanceInformation$AssociationStatus": "

The status of the association.

", + "InstanceProperty$AssociationStatus": "

The status of the State Manager association applied to the managed node.

" } }, "StatusUnchanged": { @@ -7726,6 +7881,7 @@ "InstanceInformation$PlatformName": "

The name of the operating system platform running on your managed node.

", "InstanceInformation$PlatformVersion": "

The version of the OS platform running on your managed node.

", "InstanceInformation$Name": "

The name assigned to an on-premises server, edge device, or virtual machine (VM) when it is activated as a Systems Manager managed node. The name is specified as the DefaultInstanceName property using the CreateActivation command. It is applied to the managed node by specifying the Activation Code and Activation ID when you install SSM Agent on the node, as explained in Install SSM Agent for a hybrid and multicloud environment (Linux) and Install SSM Agent for a hybrid and multicloud environment (Windows). To retrieve the Name tag of an EC2 instance, use the Amazon EC2 DescribeInstances operation. For information, see DescribeInstances in the Amazon EC2 API Reference or describe-instances in the Amazon Web Services CLI Command Reference.

", + "InstanceProperty$ResourceType": "

The type of managed node.

", "InternalServerError$Message": null, "InvalidActivation$Message": null, "InvalidActivationId$Message": null, @@ -7749,6 +7905,7 @@ "InvalidFilterValue$Message": null, "InvalidInstanceId$Message": null, "InvalidInstanceInformationFilterValue$message": null, + "InvalidInstancePropertyFilterValue$message": null, "InvalidInventoryGroupException$Message": null, "InvalidInventoryItemContextException$Message": null, "InvalidInventoryRequestException$Message": null, @@ -7928,7 +8085,7 @@ } }, "Target": { - "base": "

An array of search criteria that targets managed nodes using a key-value pair that you specify.

One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide.

Supported formats include the following.

For example:

For more information about how to send commands that target managed nodes using Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

", + "base": "

An array of search criteria that targets managed nodes using a key-value pair that you specify.

One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide.

Supported formats include the following.

For all Systems Manager capabilities:

For Automation and Change Manager:

For Run Command and Maintenance Windows:

For State Manager:

For more information about how to send commands that target managed nodes using Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

", "refs": { "Targets$member": null } @@ -8337,7 +8494,8 @@ "Version": { "base": null, "refs": { - "InstanceInformation$AgentVersion": "

The version of SSM Agent running on your Linux managed node.

" + "InstanceInformation$AgentVersion": "

The version of SSM Agent running on your Linux managed node.

", + "InstanceProperty$AgentVersion": "

The version of SSM Agent running on your managed node.

" } } } diff --git a/models/apis/ssm/2014-11-06/paginators-1.json b/models/apis/ssm/2014-11-06/paginators-1.json index 72d1932758b..1dcfe93932f 100644 --- a/models/apis/ssm/2014-11-06/paginators-1.json +++ b/models/apis/ssm/2014-11-06/paginators-1.json @@ -78,6 +78,12 @@ "output_token": "NextToken", "result_key": "Patches" }, + "DescribeInstanceProperties": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceProperties" + }, "DescribeInventoryDeletions": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 27e464f5171..eebad589530 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -15065,16 +15065,21 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-4" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { }, diff --git a/service/datasync/api.go b/service/datasync/api.go index e5984af19a1..0818503bcc8 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -1292,12 +1292,10 @@ func (c *DataSync) CreateTaskRequest(input *CreateTaskInput) (req *request.Reque // CreateTask API operation for AWS DataSync. // -// Configures a transfer task, which defines where and how DataSync moves your -// data. +// Configures a task, which defines where and how DataSync transfers your data. // -// A task includes a source location, destination location, and the options -// for how and when you want to transfer your data (such as bandwidth limits, -// scheduling, among other options). +// A task includes a source location, destination location, and transfer options +// (such as bandwidth limits, scheduling, and more). // // If you're planning to transfer data to or from an Amazon S3 location, review // how DataSync can affect your S3 request charges (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests) @@ -3094,7 +3092,8 @@ func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.R // DescribeTask API operation for AWS DataSync. // -// Provides information about an DataSync transfer task. +// Provides information about a task, which defines where and how DataSync transfers +// your data. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5551,7 +5550,8 @@ func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Reque // UpdateTask API operation for AWS DataSync. // -// Updates the configuration of an DataSync transfer task. +// Updates the configuration of a task, which defines where and how DataSync +// transfers your data. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5884,7 +5884,7 @@ type AgentListEntry struct { AgentArn *string `type:"string"` // The name of an agent. - Name *string `min:"1" type:"string"` + Name *string `type:"string"` // The platform-related details about the agent, such as the version number. Platform *Platform `type:"structure"` @@ -6148,7 +6148,7 @@ type CreateAgentInput struct { ActivationKey *string `type:"string" required:"true"` // Specifies a name for your agent. You can see this name in the DataSync console. - AgentName *string `min:"1" type:"string"` + AgentName *string `type:"string"` // Specifies the Amazon Resource Name (ARN) of the security group that protects // your task's network interfaces (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) @@ -6198,9 +6198,6 @@ func (s *CreateAgentInput) Validate() error { if s.ActivationKey == nil { invalidParams.Add(request.NewErrParamRequired("ActivationKey")) } - if s.AgentName != nil && len(*s.AgentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AgentName", 1)) - } if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) } @@ -8299,24 +8296,23 @@ func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOut type CreateTaskInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is - // used to monitor and log events in the task. + // Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group + // for monitoring your task. CloudWatchLogGroupArn *string `type:"string"` - // The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's - // location. + // Specifies the ARN of your transfer's destination location. // // DestinationLocationArn is a required field DestinationLocationArn *string `type:"string" required:"true"` - // Specifies a list of filter rules that exclude specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // Specifies exclude filters that define the files, objects, and folders in + // your source location that you don't want DataSync to transfer. For more information + // and examples, see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Excludes []*FilterRule `type:"list"` - // Specifies a list of filter rules that include specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // Specifies include filters define the files, objects, and folders in your + // source location that you want DataSync to transfer. For more information + // and examples, see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Includes []*FilterRule `type:"list"` // Configures a manifest, which is a list of files or objects that you want @@ -8329,30 +8325,23 @@ type CreateTaskInput struct { // policy includes this permission. ManifestConfig *ManifestConfig `type:"structure"` - // The name of a task. This value is a text reference that is used to identify - // the task in the console. - Name *string `min:"1" type:"string"` + // Specifies the name of your task. + Name *string `type:"string"` - // Specifies the configuration options for a task. Some options include preserving - // file or object metadata and verifying data integrity. - // - // You can also override these options before starting an individual run of - // a task (also known as a task execution). For more information, see StartTaskExecution - // (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // Specifies your task's settings, such as preserving file metadata, verifying + // data integrity, among other options. Options *Options `type:"structure"` - // Specifies a schedule used to periodically transfer files from a source to - // a destination location. The schedule should be specified in UTC time. For - // more information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). + // Specifies a schedule for when you want your task to run. For more information, + // see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). Schedule *TaskSchedule `type:"structure"` - // The Amazon Resource Name (ARN) of the source location for the task. + // Specifies the ARN of your transfer's source location. // // SourceLocationArn is a required field SourceLocationArn *string `type:"string" required:"true"` - // Specifies the tags that you want to apply to the Amazon Resource Name (ARN) - // representing the task. + // Specifies the tags that you want to apply to your task. // // Tags are key-value pairs that help you manage, filter, and search for your // DataSync resources. @@ -8393,9 +8382,6 @@ func (s *CreateTaskInput) Validate() error { if s.DestinationLocationArn == nil { invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } if s.SourceLocationArn == nil { invalidParams.Add(request.NewErrParamRequired("SourceLocationArn")) } @@ -8882,7 +8868,7 @@ type DescribeAgentOutput struct { LastConnectionTime *time.Time `type:"timestamp"` // The name of the agent. - Name *string `min:"1" type:"string"` + Name *string `type:"string"` // The platform-related details about the agent, such as the version number. Platform *Platform `type:"structure"` @@ -11186,7 +11172,10 @@ type DescribeTaskExecutionOutput struct { // limits for your task, among other options. // // Each option has a default value. Unless you need to, you don't have to configure - // any of these options before starting your task. + // any option before calling StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // + // You also can override your task options for each task execution. For example, + // you might want to adjust the LogLevel for an individual execution. Options *Options `type:"structure"` // Indicates whether DataSync generated a complete task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) @@ -11357,7 +11346,8 @@ func (s *DescribeTaskExecutionOutput) SetTaskReportConfig(v *TaskReportConfig) * type DescribeTaskInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the transfer task. + // Specifies the Amazon Resource Name (ARN) of the transfer task that you want + // information about. // // TaskArn is a required field TaskArn *string `type:"string" required:"true"` @@ -11404,87 +11394,82 @@ func (s *DescribeTaskInput) SetTaskArn(v string) *DescribeTaskInput { type DescribeTaskOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was - // used to monitor and log events in the task. + // The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring + // your task. // - // For more information on these groups, see Working with Log Groups and Log - // Streams in the Amazon CloudWatch User Guide. + // For more information, see Monitoring DataSync with Amazon CloudWatch (https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html). CloudWatchLogGroupArn *string `type:"string"` // The time that the task was created. CreationTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the task execution that is transferring - // files. + // The ARN of the most recent task execution. CurrentTaskExecutionArn *string `type:"string"` - // The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's - // location. + // The ARN of your transfer's destination location. DestinationLocationArn *string `type:"string"` - // The Amazon Resource Names (ARNs) of the network interfaces created for your - // destination location. For more information, see Network interface requirements - // (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces). + // The ARNs of the network interfaces (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) + // that DataSync created for your destination location. DestinationNetworkInterfaceArns []*string `type:"list"` - // Errors that DataSync encountered during execution of the task. You can use - // this error code to help troubleshoot issues. + // If there's an issue with your task, you can use the error code to help you + // troubleshoot the problem. For more information, see Troubleshooting issues + // with DataSync transfers (https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html). ErrorCode *string `type:"string"` - // Detailed description of an error that was encountered during the task execution. - // You can use this information to help troubleshoot issues. + // If there's an issue with your task, you can use the error details to help + // you troubleshoot the problem. For more information, see Troubleshooting issues + // with DataSync transfers (https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html). ErrorDetail *string `type:"string"` - // A list of filter rules that exclude specific data during your transfer. For - // more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // The exclude filters that define the files, objects, and folders in your source + // location that you don't want DataSync to transfer. For more information and + // examples, see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Excludes []*FilterRule `type:"list"` - // A list of filter rules that include specific data during your transfer. For - // more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // The include filters that define the files, objects, and folders in your source + // location that you want DataSync to transfer. For more information and examples, + // see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Includes []*FilterRule `type:"list"` - // The configuration of the manifest that lists the files or objects to transfer. - // For more information, see Specifying what DataSync transfers by using a manifest - // (https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html). + // The configuration of the manifest that lists the files or objects that you + // want DataSync to transfer. For more information, see Specifying what DataSync + // transfers by using a manifest (https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html). ManifestConfig *ManifestConfig `type:"structure"` - // The name of the task that was described. - Name *string `min:"1" type:"string"` + // The name of your task. + Name *string `type:"string"` - // The configuration options that control the behavior of the StartTaskExecution - // operation. Some options include preserving file or object metadata and verifying - // data integrity. - // - // You can override these options for each task execution. For more information, - // see StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // The task's settings. For example, what file metadata gets preserved, how + // data integrity gets verified at the end of your transfer, bandwidth limits, + // among other options. Options *Options `type:"structure"` - // The schedule used to periodically transfer files from a source to a destination - // location. + // The schedule for when you want your task to run. For more information, see + // Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). Schedule *TaskSchedule `type:"structure"` - // The Amazon Resource Name (ARN) of the source file system's location. + // The details about your task schedule (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). + ScheduleDetails *TaskScheduleDetails `type:"structure"` + + // The ARN of your transfer's source location. SourceLocationArn *string `type:"string"` - // The Amazon Resource Names (ARNs) of the network interfaces created for your - // source location. For more information, see Network interface requirements - // (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces). + // The ARNs of the network interfaces (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) + // that DataSync created for your source location. SourceNetworkInterfaceArns []*string `type:"list"` - // The status of the task that was described. - // - // For detailed information about task execution statuses, see Understanding - // Task Statuses in the DataSync User Guide. + // The status of your task. For information about what each status means, see + // Task statuses (https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses). Status *string `type:"string" enum:"TaskStatus"` - // The Amazon Resource Name (ARN) of the task that was described. + // The ARN of your task. TaskArn *string `type:"string"` // The configuration of your task report, which provides detailed information - // about for your DataSync transfer. For more information, see Creating a task - // report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). + // about your DataSync transfer. For more information, see Monitoring your DataSync + // transfers with task reports (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). TaskReportConfig *TaskReportConfig `type:"structure"` } @@ -11584,6 +11569,12 @@ func (s *DescribeTaskOutput) SetSchedule(v *TaskSchedule) *DescribeTaskOutput { return s } +// SetScheduleDetails sets the ScheduleDetails field's value. +func (s *DescribeTaskOutput) SetScheduleDetails(v *TaskScheduleDetails) *DescribeTaskOutput { + s.ScheduleDetails = v + return s +} + // SetSourceLocationArn sets the SourceLocationArn field's value. func (s *DescribeTaskOutput) SetSourceLocationArn(v string) *DescribeTaskOutput { s.SourceLocationArn = &v @@ -14076,7 +14067,10 @@ func (s *OnPremConfig) SetAgentArns(v []*string) *OnPremConfig { // limits for your task, among other options. // // Each option has a default value. Unless you need to, you don't have to configure -// any of these options before starting your task. +// any option before calling StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). +// +// You also can override your task options for each task execution. For example, +// you might want to adjust the LogLevel for an individual execution. type Options struct { _ struct{} `type:"structure"` @@ -14264,10 +14258,11 @@ type Options struct { // // * POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer, DataSync // scans the entire source and destination to verify that both locations - // are fully synchronized. You can't use this option when transferring to - // S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. - // For more information, see Storage class considerations with Amazon S3 - // locations (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). + // are fully synchronized. If you use a manifest (https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html), + // DataSync only scans and verifies what's listed in the manifest. You can't + // use this option when transferring to S3 Glacier Flexible Retrieval or + // S3 Glacier Deep Archive storage classes. For more information, see Storage + // class considerations with Amazon S3 locations (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). // // * NONE - DataSync doesn't run additional verification at the end of the // transfer. All data transmissions are still integrity-checked with checksum @@ -14456,12 +14451,6 @@ type Platform struct { _ struct{} `type:"structure"` // The version of the DataSync agent. - // - // On December 7, 2023, we discontinued version 1 DataSync agents. Check the - // DataSync console to see if you have affected agents. If you do, replace (https://docs.aws.amazon.com/datasync/latest/userguide/replacing-agent.html) - // those agents or delete (https://docs.aws.amazon.com/datasync/latest/userguide/deleting-agent.html) - // them if they aren't in use. If you need more help, contact Amazon Web Services - // Support (https://aws.amazon.com/contact-us/). Version *string `min:"1" type:"string"` } @@ -15549,7 +15538,10 @@ type StartTaskExecutionInput struct { // limits for your task, among other options. // // Each option has a default value. Unless you need to, you don't have to configure - // any of these options before starting your task. + // any option before calling StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // + // You also can override your task options for each task execution. For example, + // you might want to adjust the LogLevel for an individual execution. OverrideOptions *Options `type:"structure"` // Specifies the tags that you want to apply to the Amazon Resource Name (ARN) @@ -15830,7 +15822,7 @@ type TagListEntry struct { Key *string `min:"1" type:"string" required:"true"` // The value for an Amazon Web Services resource tag. - Value *string `min:"1" type:"string"` + Value *string `type:"string"` } // String returns the string representation. @@ -15860,9 +15852,6 @@ func (s *TagListEntry) Validate() error { if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -16220,7 +16209,7 @@ type TaskListEntry struct { _ struct{} `type:"structure"` // The name of the task. - Name *string `min:"1" type:"string"` + Name *string `type:"string"` // The status of the task. Status *string `type:"string" enum:"TaskStatus"` @@ -16374,16 +16363,26 @@ func (s *TaskReportConfig) SetReportLevel(v string) *TaskReportConfig { return s } -// Specifies the schedule you want your task to use for repeated executions. -// For more information, see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html). +// Configures your DataSync task to run on a schedule (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) +// (at a minimum interval of 1 hour). type TaskSchedule struct { _ struct{} `type:"structure"` - // A cron expression that specifies when DataSync initiates a scheduled transfer - // from a source to a destination location. + // Specifies your task schedule by using a cron expression in UTC time. For + // information about cron expression syntax, see the Amazon EventBridge User + // Guide (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html). // // ScheduleExpression is a required field ScheduleExpression *string `type:"string" required:"true"` + + // Specifies whether to enable or disable your task schedule. Your schedule + // is enabled by default, but there can be situations where you need to disable + // it. For example, you might need to pause a recurring transfer or fix an issue + // with your task or perform maintenance on your storage system. + // + // DataSync might disable your schedule automatically if your task fails repeatedly + // with the same error. For more information, see TaskScheduleDetails (https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html). + Status *string `type:"string" enum:"ScheduleStatus"` } // String returns the string representation. @@ -16423,6 +16422,77 @@ func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule { return s } +// SetStatus sets the Status field's value. +func (s *TaskSchedule) SetStatus(v string) *TaskSchedule { + s.Status = &v + return s +} + +// Provides information about your DataSync task schedule (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). +type TaskScheduleDetails struct { + _ struct{} `type:"structure"` + + // Indicates how your task schedule was disabled. + // + // * USER - Your schedule was manually disabled by using the UpdateTask (https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html) + // operation or DataSync console. + // + // * SERVICE - Your schedule was automatically disabled by DataSync because + // the task failed repeatedly with the same error. + DisabledBy *string `type:"string" enum:"ScheduleDisabledBy"` + + // Provides a reason if the task schedule is disabled. + // + // If your schedule is disabled by USER, you see a Manually disabled by user. + // message. + // + // If your schedule is disabled by SERVICE, you see an error message to help + // you understand why the task keeps failing. For information on resolving DataSync + // errors, see Troubleshooting issues with DataSync transfers (https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html). + DisabledReason *string `type:"string"` + + // Indicates the last time the status of your task schedule changed. For example, + // if DataSync automatically disables your schedule because of a repeated error, + // you can see when the schedule was disabled. + StatusUpdateTime *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TaskScheduleDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TaskScheduleDetails) GoString() string { + return s.String() +} + +// SetDisabledBy sets the DisabledBy field's value. +func (s *TaskScheduleDetails) SetDisabledBy(v string) *TaskScheduleDetails { + s.DisabledBy = &v + return s +} + +// SetDisabledReason sets the DisabledReason field's value. +func (s *TaskScheduleDetails) SetDisabledReason(v string) *TaskScheduleDetails { + s.DisabledReason = &v + return s +} + +// SetStatusUpdateTime sets the StatusUpdateTime field's value. +func (s *TaskScheduleDetails) SetStatusUpdateTime(v time.Time) *TaskScheduleDetails { + s.StatusUpdateTime = &v + return s +} + // The throughput peaks for an on-premises storage system volume. Each data // point represents the 95th percentile peak value during a 1-hour interval. type Throughput struct { @@ -16580,7 +16650,7 @@ type UpdateAgentInput struct { AgentArn *string `type:"string" required:"true"` // The name that you want to use to configure the agent. - Name *string `min:"1" type:"string"` + Name *string `type:"string"` } // String returns the string representation. @@ -16607,9 +16677,6 @@ func (s *UpdateAgentInput) Validate() error { if s.AgentArn == nil { invalidParams.Add(request.NewErrParamRequired("AgentArn")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -17662,7 +17729,10 @@ type UpdateTaskExecutionInput struct { // limits for your task, among other options. // // Each option has a default value. Unless you need to, you don't have to configure - // any of these options before starting your task. + // any option before calling StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // + // You also can override your task options for each task execution. For example, + // you might want to adjust the LogLevel for an individual execution. // // Options is a required field Options *Options `type:"structure" required:"true"` @@ -17751,18 +17821,18 @@ func (s UpdateTaskExecutionOutput) GoString() string { type UpdateTaskInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch - // log group. + // Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group + // for monitoring your task. CloudWatchLogGroupArn *string `type:"string"` - // Specifies a list of filter rules that exclude specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // Specifies exclude filters that define the files, objects, and folders in + // your source location that you don't want DataSync to transfer. For more information + // and examples, see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Excludes []*FilterRule `type:"list"` - // Specifies a list of filter rules that include specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + // Specifies include filters define the files, objects, and folders in your + // source location that you want DataSync to transfer. For more information + // and examples, see Specifying what DataSync transfers by using filters (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). Includes []*FilterRule `type:"list"` // Configures a manifest, which is a list of files or objects that you want @@ -17777,8 +17847,8 @@ type UpdateTaskInput struct { // To remove a manifest configuration, specify this parameter as empty. ManifestConfig *ManifestConfig `type:"structure"` - // The name of the task to update. - Name *string `min:"1" type:"string"` + // Specifies the name of your task. + Name *string `type:"string"` // Indicates how your transfer task is configured. These options include how // DataSync handles files, objects, and their associated metadata during your @@ -17786,17 +17856,17 @@ type UpdateTaskInput struct { // limits for your task, among other options. // // Each option has a default value. Unless you need to, you don't have to configure - // any of these options before starting your task. + // any option before calling StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + // + // You also can override your task options for each task execution. For example, + // you might want to adjust the LogLevel for an individual execution. Options *Options `type:"structure"` - // Specifies a schedule used to periodically transfer files from a source to - // a destination location. You can configure your task to execute hourly, daily, - // weekly or on specific days of the week. You control when in the day or hour - // you want the task to execute. The time you specify is UTC time. For more - // information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). + // Specifies a schedule for when you want your task to run. For more information, + // see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). Schedule *TaskSchedule `type:"structure"` - // The Amazon Resource Name (ARN) of the resource name of the task to update. + // Specifies the ARN of the task that you want to update. // // TaskArn is a required field TaskArn *string `type:"string" required:"true"` @@ -17835,9 +17905,6 @@ func (s UpdateTaskInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateTaskInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateTaskInput"} - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } if s.TaskArn == nil { invalidParams.Add(request.NewErrParamRequired("TaskArn")) } @@ -18616,6 +18683,38 @@ func S3StorageClass_Values() []string { } } +const ( + // ScheduleDisabledByUser is a ScheduleDisabledBy enum value + ScheduleDisabledByUser = "USER" + + // ScheduleDisabledByService is a ScheduleDisabledBy enum value + ScheduleDisabledByService = "SERVICE" +) + +// ScheduleDisabledBy_Values returns all elements of the ScheduleDisabledBy enum +func ScheduleDisabledBy_Values() []string { + return []string{ + ScheduleDisabledByUser, + ScheduleDisabledByService, + } +} + +const ( + // ScheduleStatusEnabled is a ScheduleStatus enum value + ScheduleStatusEnabled = "ENABLED" + + // ScheduleStatusDisabled is a ScheduleStatus enum value + ScheduleStatusDisabled = "DISABLED" +) + +// ScheduleStatus_Values returns all elements of the ScheduleStatus enum +func ScheduleStatus_Values() []string { + return []string{ + ScheduleStatusEnabled, + ScheduleStatusDisabled, + } +} + const ( // SmbSecurityDescriptorCopyFlagsNone is a SmbSecurityDescriptorCopyFlags enum value SmbSecurityDescriptorCopyFlagsNone = "NONE" diff --git a/service/ec2/api.go b/service/ec2/api.go index 0337b750933..740475f82ea 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -103560,6 +103560,11 @@ func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) type DescribeNetworkInterfaceAttributeOutput struct { _ struct{} `type:"structure"` + // Indicates whether to assign a public IPv4 address to a network interface. + // This option can be enabled for any network interface but will only apply + // to the primary network interface (eth0). + AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"` + // The attachment (if any) of the network interface. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"` @@ -103594,6 +103599,12 @@ func (s DescribeNetworkInterfaceAttributeOutput) GoString() string { return s.String() } +// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. +func (s *DescribeNetworkInterfaceAttributeOutput) SetAssociatePublicIpAddress(v bool) *DescribeNetworkInterfaceAttributeOutput { + s.AssociatePublicIpAddress = &v + return s +} + // SetAttachment sets the Attachment field's value. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput { s.Attachment = v @@ -152063,6 +152074,11 @@ func (s *ModifyManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *Mod type ModifyNetworkInterfaceAttributeInput struct { _ struct{} `type:"structure"` + // Indicates whether to assign a public IPv4 address to a network interface. + // This option can be enabled for any network interface but will only apply + // to the primary network interface (eth0). + AssociatePublicIpAddress *bool `type:"boolean"` + // Information about the interface attachment. If modifying the delete on termination // attribute, you must specify the ID of the interface attachment. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"` @@ -152149,6 +152165,12 @@ func (s *ModifyNetworkInterfaceAttributeInput) Validate() error { return nil } +// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. +func (s *ModifyNetworkInterfaceAttributeInput) SetAssociatePublicIpAddress(v bool) *ModifyNetworkInterfaceAttributeInput { + s.AssociatePublicIpAddress = &v + return s +} + // SetAttachment sets the Attachment field's value. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput { s.Attachment = v @@ -198473,6 +198495,9 @@ const ( // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value NetworkInterfaceAttributeAttachment = "attachment" + + // NetworkInterfaceAttributeAssociatePublicIpAddress is a NetworkInterfaceAttribute enum value + NetworkInterfaceAttributeAssociatePublicIpAddress = "associatePublicIpAddress" ) // NetworkInterfaceAttribute_Values returns all elements of the NetworkInterfaceAttribute enum @@ -198482,6 +198507,7 @@ func NetworkInterfaceAttribute_Values() []string { NetworkInterfaceAttributeGroupSet, NetworkInterfaceAttributeSourceDestCheck, NetworkInterfaceAttributeAttachment, + NetworkInterfaceAttributeAssociatePublicIpAddress, } } diff --git a/service/emrcontainers/api.go b/service/emrcontainers/api.go index 24998ff838f..3d7100b98f6 100644 --- a/service/emrcontainers/api.go +++ b/service/emrcontainers/api.go @@ -271,6 +271,92 @@ func (c *EMRContainers) CreateManagedEndpointWithContext(ctx aws.Context, input return out, req.Send() } +const opCreateSecurityConfiguration = "CreateSecurityConfiguration" + +// CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateSecurityConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSecurityConfiguration for more information on using the CreateSecurityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateSecurityConfigurationRequest method. +// req, resp := client.CreateSecurityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateSecurityConfiguration +func (c *EMRContainers) CreateSecurityConfigurationRequest(input *CreateSecurityConfigurationInput) (req *request.Request, output *CreateSecurityConfigurationOutput) { + op := &request.Operation{ + Name: opCreateSecurityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/securityconfigurations", + } + + if input == nil { + input = &CreateSecurityConfigurationInput{} + } + + output = &CreateSecurityConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSecurityConfiguration API operation for Amazon EMR Containers. +// +// Creates a security configuration. Security configurations in Amazon EMR on +// EKS are templates for different security setups. You can use security configurations +// to configure the Lake Formation integration setup. You can also create a +// security configuration to re-use a security setup each time you create a +// virtual cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EMR Containers's +// API operation CreateSecurityConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// There are invalid parameters in the client request. +// +// - InternalServerException +// This is an internal server exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateSecurityConfiguration +func (c *EMRContainers) CreateSecurityConfiguration(input *CreateSecurityConfigurationInput) (*CreateSecurityConfigurationOutput, error) { + req, out := c.CreateSecurityConfigurationRequest(input) + return out, req.Send() +} + +// CreateSecurityConfigurationWithContext is the same as CreateSecurityConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSecurityConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMRContainers) CreateSecurityConfigurationWithContext(ctx aws.Context, input *CreateSecurityConfigurationInput, opts ...request.Option) (*CreateSecurityConfigurationOutput, error) { + req, out := c.CreateSecurityConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateVirtualCluster = "CreateVirtualCluster" // CreateVirtualClusterRequest generates a "aws/request.Request" representing the @@ -883,6 +969,95 @@ func (c *EMRContainers) DescribeManagedEndpointWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" + +// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeSecurityConfigurationRequest method. +// req, resp := client.DescribeSecurityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeSecurityConfiguration +func (c *EMRContainers) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeSecurityConfiguration, + HTTPMethod: "GET", + HTTPPath: "/securityconfigurations/{securityConfigurationId}", + } + + if input == nil { + input = &DescribeSecurityConfigurationInput{} + } + + output = &DescribeSecurityConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSecurityConfiguration API operation for Amazon EMR Containers. +// +// Displays detailed information about a specified security configuration. Security +// configurations in Amazon EMR on EKS are templates for different security +// setups. You can use security configurations to configure the Lake Formation +// integration setup. You can also create a security configuration to re-use +// a security setup each time you create a virtual cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EMR Containers's +// API operation DescribeSecurityConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// There are invalid parameters in the client request. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServerException +// This is an internal server exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeSecurityConfiguration +func (c *EMRContainers) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { + req, out := c.DescribeSecurityConfigurationRequest(input) + return out, req.Send() +} + +// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSecurityConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMRContainers) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { + req, out := c.DescribeSecurityConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeVirtualCluster = "DescribeVirtualCluster" // DescribeVirtualClusterRequest generates a "aws/request.Request" representing the @@ -1485,6 +1660,149 @@ func (c *EMRContainers) ListManagedEndpointsPagesWithContext(ctx aws.Context, in return p.Err() } +const opListSecurityConfigurations = "ListSecurityConfigurations" + +// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSecurityConfigurations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListSecurityConfigurationsRequest method. +// req, resp := client.ListSecurityConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListSecurityConfigurations +func (c *EMRContainers) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { + op := &request.Operation{ + Name: opListSecurityConfigurations, + HTTPMethod: "GET", + HTTPPath: "/securityconfigurations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSecurityConfigurationsInput{} + } + + output = &ListSecurityConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSecurityConfigurations API operation for Amazon EMR Containers. +// +// Lists security configurations based on a set of parameters. Security configurations +// in Amazon EMR on EKS are templates for different security setups. You can +// use security configurations to configure the Lake Formation integration setup. +// You can also create a security configuration to re-use a security setup each +// time you create a virtual cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EMR Containers's +// API operation ListSecurityConfigurations for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// There are invalid parameters in the client request. +// +// - InternalServerException +// This is an internal server exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListSecurityConfigurations +func (c *EMRContainers) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { + req, out := c.ListSecurityConfigurationsRequest(input) + return out, req.Send() +} + +// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListSecurityConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMRContainers) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { + req, out := c.ListSecurityConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSecurityConfigurations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. +// pageNum := 0 +// err := client.ListSecurityConfigurationsPages(params, +// func(page *emrcontainers.ListSecurityConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *EMRContainers) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { + return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMRContainers) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -1981,18 +2299,15 @@ func (c *EMRContainers) UntagResourceWithContext(ctx aws.Context, input *UntagRe return out, req.Send() } -type CancelJobRunInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Authorization-related configuration inputs for the security configuration. +type AuthorizationConfiguration struct { + _ struct{} `type:"structure"` - // The ID of the job run to cancel. - // - // Id is a required field - Id *string `location:"uri" locationName:"jobRunId" min:"1" type:"string" required:"true"` + // Encryption-related configuration input for the security configuration. + EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` - // The ID of the virtual cluster for which the job run will be canceled. - // - // VirtualClusterId is a required field - VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"` + // Lake Formation related configuration inputs for the security configuration. + LakeFormationConfiguration *LakeFormationConfiguration `locationName:"lakeFormationConfiguration" type:"structure"` } // String returns the string representation. @@ -2000,7 +2315,7 @@ type CancelJobRunInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelJobRunInput) String() string { +func (s AuthorizationConfiguration) String() string { return awsutil.Prettify(s) } @@ -2009,24 +2324,22 @@ func (s CancelJobRunInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelJobRunInput) GoString() string { +func (s AuthorizationConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelJobRunInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelJobRunInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - if s.VirtualClusterId == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualClusterId")) +func (s *AuthorizationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthorizationConfiguration"} + if s.EncryptionConfiguration != nil { + if err := s.EncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + } } - if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1)) + if s.LakeFormationConfiguration != nil { + if err := s.LakeFormationConfiguration.Validate(); err != nil { + invalidParams.AddNested("LakeFormationConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2035,7 +2348,73 @@ func (s *CancelJobRunInput) Validate() error { return nil } -// SetId sets the Id field's value. +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *AuthorizationConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *AuthorizationConfiguration { + s.EncryptionConfiguration = v + return s +} + +// SetLakeFormationConfiguration sets the LakeFormationConfiguration field's value. +func (s *AuthorizationConfiguration) SetLakeFormationConfiguration(v *LakeFormationConfiguration) *AuthorizationConfiguration { + s.LakeFormationConfiguration = v + return s +} + +type CancelJobRunInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the job run to cancel. + // + // Id is a required field + Id *string `location:"uri" locationName:"jobRunId" min:"1" type:"string" required:"true"` + + // The ID of the virtual cluster for which the job run will be canceled. + // + // VirtualClusterId is a required field + VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelJobRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelJobRunInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.VirtualClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualClusterId")) + } + if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. func (s *CancelJobRunInput) SetId(v string) *CancelJobRunInput { s.Id = &v return s @@ -2921,6 +3300,144 @@ func (s *CreateManagedEndpointOutput) SetVirtualClusterId(v string) *CreateManag return s } +type CreateSecurityConfigurationInput struct { + _ struct{} `type:"structure"` + + // The client idempotency token to use when creating the security configuration. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the security configuration. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Security configuration input for the request. + // + // SecurityConfigurationData is a required field + SecurityConfigurationData *SecurityConfigurationData `locationName:"securityConfigurationData" type:"structure" required:"true"` + + // The tags to add to the security configuration. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSecurityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SecurityConfigurationData == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityConfigurationData")) + } + if s.SecurityConfigurationData != nil { + if err := s.SecurityConfigurationData.Validate(); err != nil { + invalidParams.AddNested("SecurityConfigurationData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateSecurityConfigurationInput) SetClientToken(v string) *CreateSecurityConfigurationInput { + s.ClientToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { + s.Name = &v + return s +} + +// SetSecurityConfigurationData sets the SecurityConfigurationData field's value. +func (s *CreateSecurityConfigurationInput) SetSecurityConfigurationData(v *SecurityConfigurationData) *CreateSecurityConfigurationInput { + s.SecurityConfigurationData = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSecurityConfigurationInput) SetTags(v map[string]*string) *CreateSecurityConfigurationInput { + s.Tags = v + return s +} + +type CreateSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the security configuration. + Arn *string `locationName:"arn" min:"60" type:"string"` + + // The ID of the security configuration. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the security configuration. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSecurityConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateSecurityConfigurationOutput) SetArn(v string) *CreateSecurityConfigurationOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateSecurityConfigurationOutput) SetId(v string) *CreateSecurityConfigurationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { + s.Name = &v + return s +} + type CreateVirtualClusterInput struct { _ struct{} `type:"structure"` @@ -2937,6 +3454,9 @@ type CreateVirtualClusterInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The ID of the security configuration. + SecurityConfigurationId *string `locationName:"securityConfigurationId" min:"1" type:"string"` + // The tags assigned to the virtual cluster. Tags map[string]*string `locationName:"tags" type:"map"` } @@ -2974,6 +3494,9 @@ func (s *CreateVirtualClusterInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.SecurityConfigurationId != nil && len(*s.SecurityConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityConfigurationId", 1)) + } if s.ContainerProvider != nil { if err := s.ContainerProvider.Validate(); err != nil { invalidParams.AddNested("ContainerProvider", err.(request.ErrInvalidParams)) @@ -3004,6 +3527,12 @@ func (s *CreateVirtualClusterInput) SetName(v string) *CreateVirtualClusterInput return s } +// SetSecurityConfigurationId sets the SecurityConfigurationId field's value. +func (s *CreateVirtualClusterInput) SetSecurityConfigurationId(v string) *CreateVirtualClusterInput { + s.SecurityConfigurationId = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateVirtualClusterInput) SetTags(v map[string]*string) *CreateVirtualClusterInput { s.Tags = v @@ -3635,6 +4164,86 @@ func (s *DescribeManagedEndpointOutput) SetEndpoint(v *Endpoint) *DescribeManage return s } +type DescribeSecurityConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the security configuration. + // + // Id is a required field + Id *string `location:"uri" locationName:"securityConfigurationId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSecurityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeSecurityConfigurationInput) SetId(v string) *DescribeSecurityConfigurationInput { + s.Id = &v + return s +} + +type DescribeSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Details of the security configuration. + SecurityConfiguration *SecurityConfiguration `locationName:"securityConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSecurityConfigurationOutput) GoString() string { + return s.String() +} + +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *DescribeSecurityConfigurationOutput) SetSecurityConfiguration(v *SecurityConfiguration) *DescribeSecurityConfigurationOutput { + s.SecurityConfiguration = v + return s +} + type DescribeVirtualClusterInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -3824,21 +4433,68 @@ func (s *EksInfo) SetNamespace(v string) *EksInfo { return s } -// This entity represents the endpoint that is managed by Amazon EMR on EKS. -type Endpoint struct { +// Configurations related to encryption for the security configuration. +type EncryptionConfiguration struct { _ struct{} `type:"structure"` - // The ARN of the endpoint. - Arn *string `locationName:"arn" min:"60" type:"string"` + // In-transit encryption-related input for the security configuration. + InTransitEncryptionConfiguration *InTransitEncryptionConfiguration `locationName:"inTransitEncryptionConfiguration" type:"structure"` +} - // The certificate ARN of the endpoint. This field is under deprecation and - // will be removed in future. - // - // Deprecated: Customer provided certificate-arn is deprecated and would be removed in future. - CertificateArn *string `locationName:"certificateArn" min:"44" deprecated:"true" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} - // The certificate generated by emr control plane on customer behalf to secure - // the managed endpoint. +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.InTransitEncryptionConfiguration != nil { + if err := s.InTransitEncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("InTransitEncryptionConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInTransitEncryptionConfiguration sets the InTransitEncryptionConfiguration field's value. +func (s *EncryptionConfiguration) SetInTransitEncryptionConfiguration(v *InTransitEncryptionConfiguration) *EncryptionConfiguration { + s.InTransitEncryptionConfiguration = v + return s +} + +// This entity represents the endpoint that is managed by Amazon EMR on EKS. +type Endpoint struct { + _ struct{} `type:"structure"` + + // The ARN of the endpoint. + Arn *string `locationName:"arn" min:"60" type:"string"` + + // The certificate ARN of the endpoint. This field is under deprecation and + // will be removed in future. + // + // Deprecated: Customer provided certificate-arn is deprecated and would be removed in future. + CertificateArn *string `locationName:"certificateArn" min:"44" deprecated:"true" type:"string"` + + // The certificate generated by emr control plane on customer behalf to secure + // the managed endpoint. CertificateAuthority *Certificate `locationName:"certificateAuthority" type:"structure"` // The configuration settings that are used to override existing configurations @@ -4199,6 +4855,53 @@ func (s *GetManagedEndpointSessionCredentialsOutput) SetId(v string) *GetManaged return s } +// Configurations related to in-transit encryption for the security configuration. +type InTransitEncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // TLS certificate-related configuration input for the security configuration. + TlsCertificateConfiguration *TLSCertificateConfiguration `locationName:"tlsCertificateConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InTransitEncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InTransitEncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InTransitEncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InTransitEncryptionConfiguration"} + if s.TlsCertificateConfiguration != nil { + if err := s.TlsCertificateConfiguration.Validate(); err != nil { + invalidParams.AddNested("TlsCertificateConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTlsCertificateConfiguration sets the TlsCertificateConfiguration field's value. +func (s *InTransitEncryptionConfiguration) SetTlsCertificateConfiguration(v *TLSCertificateConfiguration) *InTransitEncryptionConfiguration { + s.TlsCertificateConfiguration = v + return s +} + // This is an internal server exception. type InternalServerException struct { _ struct{} `type:"structure"` @@ -4751,6 +5454,78 @@ func (s *JobTemplateData) SetReleaseLabel(v string) *JobTemplateData { return s } +// Lake Formation related configuration inputs for the security configuration. +type LakeFormationConfiguration struct { + _ struct{} `type:"structure"` + + // The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation. + AuthorizedSessionTagValue *string `locationName:"authorizedSessionTagValue" min:"1" type:"string"` + + // The query engine IAM role ARN that is tied to the secure Spark job. The QueryEngine + // role assumes the JobExecutionRole to execute all the Lake Formation calls. + QueryEngineRoleArn *string `locationName:"queryEngineRoleArn" min:"20" type:"string"` + + // The namespace input of the system job. + SecureNamespaceInfo *SecureNamespaceInfo `locationName:"secureNamespaceInfo" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LakeFormationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LakeFormationConfiguration"} + if s.AuthorizedSessionTagValue != nil && len(*s.AuthorizedSessionTagValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AuthorizedSessionTagValue", 1)) + } + if s.QueryEngineRoleArn != nil && len(*s.QueryEngineRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("QueryEngineRoleArn", 20)) + } + if s.SecureNamespaceInfo != nil { + if err := s.SecureNamespaceInfo.Validate(); err != nil { + invalidParams.AddNested("SecureNamespaceInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizedSessionTagValue sets the AuthorizedSessionTagValue field's value. +func (s *LakeFormationConfiguration) SetAuthorizedSessionTagValue(v string) *LakeFormationConfiguration { + s.AuthorizedSessionTagValue = &v + return s +} + +// SetQueryEngineRoleArn sets the QueryEngineRoleArn field's value. +func (s *LakeFormationConfiguration) SetQueryEngineRoleArn(v string) *LakeFormationConfiguration { + s.QueryEngineRoleArn = &v + return s +} + +// SetSecureNamespaceInfo sets the SecureNamespaceInfo field's value. +func (s *LakeFormationConfiguration) SetSecureNamespaceInfo(v *SecureNamespaceInfo) *LakeFormationConfiguration { + s.SecureNamespaceInfo = v + return s +} + type ListJobRunsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5157,6 +5932,117 @@ func (s *ListManagedEndpointsOutput) SetNextToken(v string) *ListManagedEndpoint return s } +type ListSecurityConfigurationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The date and time after which the security configuration was created. + CreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp" timestampFormat:"iso8601"` + + // The date and time before which the security configuration was created. + CreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp" timestampFormat:"iso8601"` + + // The maximum number of security configurations the operation can list. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The token for the next set of security configurations to return. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSecurityConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSecurityConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSecurityConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSecurityConfigurationsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatedAfter sets the CreatedAfter field's value. +func (s *ListSecurityConfigurationsInput) SetCreatedAfter(v time.Time) *ListSecurityConfigurationsInput { + s.CreatedAfter = &v + return s +} + +// SetCreatedBefore sets the CreatedBefore field's value. +func (s *ListSecurityConfigurationsInput) SetCreatedBefore(v time.Time) *ListSecurityConfigurationsInput { + s.CreatedBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSecurityConfigurationsInput) SetMaxResults(v int64) *ListSecurityConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityConfigurationsInput) SetNextToken(v string) *ListSecurityConfigurationsInput { + s.NextToken = &v + return s +} + +type ListSecurityConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of security configurations to return. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The list of returned security configurations. + SecurityConfigurations []*SecurityConfiguration `locationName:"securityConfigurations" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSecurityConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSecurityConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityConfigurationsOutput) SetNextToken(v string) *ListSecurityConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetSecurityConfigurations sets the SecurityConfigurations field's value. +func (s *ListSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfiguration) *ListSecurityConfigurationsOutput { + s.SecurityConfigurations = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5981,6 +6867,200 @@ func (s *S3MonitoringConfiguration) SetLogUri(v string) *S3MonitoringConfigurati return s } +// Namespace inputs for the system job. +type SecureNamespaceInfo struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run. + ClusterId *string `locationName:"clusterId" min:"1" type:"string"` + + // The namespace of the Amazon EKS cluster where the system jobs run. + Namespace *string `locationName:"namespace" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecureNamespaceInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecureNamespaceInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SecureNamespaceInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SecureNamespaceInfo"} + if s.ClusterId != nil && len(*s.ClusterId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterId", 1)) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *SecureNamespaceInfo) SetClusterId(v string) *SecureNamespaceInfo { + s.ClusterId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *SecureNamespaceInfo) SetNamespace(v string) *SecureNamespaceInfo { + s.Namespace = &v + return s +} + +// Inputs related to the security configuration. Security configurations in +// Amazon EMR on EKS are templates for different security setups. You can use +// security configurations to configure the Lake Formation integration setup. +// You can also create a security configuration to re-use a security setup each +// time you create a virtual cluster. +type SecurityConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the security configuration. + Arn *string `locationName:"arn" min:"60" type:"string"` + + // The date and time that the job run was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // The user who created the job run. + CreatedBy *string `locationName:"createdBy" min:"20" type:"string"` + + // The ID of the security configuration. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the security configuration. + Name *string `locationName:"name" min:"1" type:"string"` + + // Security configuration inputs for the request. + SecurityConfigurationData *SecurityConfigurationData `locationName:"securityConfigurationData" type:"structure"` + + // The tags to assign to the security configuration. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecurityConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecurityConfiguration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *SecurityConfiguration) SetArn(v string) *SecurityConfiguration { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *SecurityConfiguration) SetCreatedAt(v time.Time) *SecurityConfiguration { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *SecurityConfiguration) SetCreatedBy(v string) *SecurityConfiguration { + s.CreatedBy = &v + return s +} + +// SetId sets the Id field's value. +func (s *SecurityConfiguration) SetId(v string) *SecurityConfiguration { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *SecurityConfiguration) SetName(v string) *SecurityConfiguration { + s.Name = &v + return s +} + +// SetSecurityConfigurationData sets the SecurityConfigurationData field's value. +func (s *SecurityConfiguration) SetSecurityConfigurationData(v *SecurityConfigurationData) *SecurityConfiguration { + s.SecurityConfigurationData = v + return s +} + +// SetTags sets the Tags field's value. +func (s *SecurityConfiguration) SetTags(v map[string]*string) *SecurityConfiguration { + s.Tags = v + return s +} + +// Configurations related to the security configuration for the request. +type SecurityConfigurationData struct { + _ struct{} `type:"structure"` + + // Authorization-related configuration input for the security configuration. + AuthorizationConfiguration *AuthorizationConfiguration `locationName:"authorizationConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecurityConfigurationData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecurityConfigurationData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SecurityConfigurationData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SecurityConfigurationData"} + if s.AuthorizationConfiguration != nil { + if err := s.AuthorizationConfiguration.Validate(); err != nil { + invalidParams.AddNested("AuthorizationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizationConfiguration sets the AuthorizationConfiguration field's value. +func (s *SecurityConfigurationData) SetAuthorizationConfiguration(v *AuthorizationConfiguration) *SecurityConfigurationData { + s.AuthorizationConfiguration = v + return s +} + // The job driver for job type. type SparkSqlJobDriver struct { _ struct{} `type:"structure"` @@ -6352,6 +7432,74 @@ func (s *StartJobRunOutput) SetVirtualClusterId(v string) *StartJobRunOutput { return s } +// Configurations related to the TLS certificate for the security configuration. +type TLSCertificateConfiguration struct { + _ struct{} `type:"structure"` + + // The TLS certificate type. Acceptable values: PEM or Custom. + CertificateProviderType *string `locationName:"certificateProviderType" type:"string" enum:"CertificateProviderType"` + + // Secrets Manager ARN that contains the private TLS certificate contents, used + // for communication between the user job and the system job. + PrivateCertificateSecretArn *string `locationName:"privateCertificateSecretArn" min:"3" type:"string"` + + // Secrets Manager ARN that contains the public TLS certificate contents, used + // for communication between the user job and the system job. + PublicCertificateSecretArn *string `locationName:"publicCertificateSecretArn" min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TLSCertificateConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TLSCertificateConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TLSCertificateConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TLSCertificateConfiguration"} + if s.PrivateCertificateSecretArn != nil && len(*s.PrivateCertificateSecretArn) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PrivateCertificateSecretArn", 3)) + } + if s.PublicCertificateSecretArn != nil && len(*s.PublicCertificateSecretArn) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PublicCertificateSecretArn", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateProviderType sets the CertificateProviderType field's value. +func (s *TLSCertificateConfiguration) SetCertificateProviderType(v string) *TLSCertificateConfiguration { + s.CertificateProviderType = &v + return s +} + +// SetPrivateCertificateSecretArn sets the PrivateCertificateSecretArn field's value. +func (s *TLSCertificateConfiguration) SetPrivateCertificateSecretArn(v string) *TLSCertificateConfiguration { + s.PrivateCertificateSecretArn = &v + return s +} + +// SetPublicCertificateSecretArn sets the PublicCertificateSecretArn field's value. +func (s *TLSCertificateConfiguration) SetPublicCertificateSecretArn(v string) *TLSCertificateConfiguration { + s.PublicCertificateSecretArn = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -6666,6 +7814,9 @@ type VirtualCluster struct { // The name of the virtual cluster. Name *string `locationName:"name" min:"1" type:"string"` + // The ID of the security configuration. + SecurityConfigurationId *string `locationName:"securityConfigurationId" min:"1" type:"string"` + // The state of the virtual cluster. State *string `locationName:"state" type:"string" enum:"VirtualClusterState"` @@ -6721,6 +7872,12 @@ func (s *VirtualCluster) SetName(v string) *VirtualCluster { return s } +// SetSecurityConfigurationId sets the SecurityConfigurationId field's value. +func (s *VirtualCluster) SetSecurityConfigurationId(v string) *VirtualCluster { + s.SecurityConfigurationId = &v + return s +} + // SetState sets the State field's value. func (s *VirtualCluster) SetState(v string) *VirtualCluster { s.State = &v @@ -6733,6 +7890,18 @@ func (s *VirtualCluster) SetTags(v map[string]*string) *VirtualCluster { return s } +const ( + // CertificateProviderTypePem is a CertificateProviderType enum value + CertificateProviderTypePem = "PEM" +) + +// CertificateProviderType_Values returns all elements of the CertificateProviderType enum +func CertificateProviderType_Values() []string { + return []string{ + CertificateProviderTypePem, + } +} + const ( // ContainerProviderTypeEks is a ContainerProviderType enum value ContainerProviderTypeEks = "EKS" diff --git a/service/emrcontainers/emrcontainersiface/interface.go b/service/emrcontainers/emrcontainersiface/interface.go index f94b4ecabc6..3df2b2acd4c 100644 --- a/service/emrcontainers/emrcontainersiface/interface.go +++ b/service/emrcontainers/emrcontainersiface/interface.go @@ -72,6 +72,10 @@ type EMRContainersAPI interface { CreateManagedEndpointWithContext(aws.Context, *emrcontainers.CreateManagedEndpointInput, ...request.Option) (*emrcontainers.CreateManagedEndpointOutput, error) CreateManagedEndpointRequest(*emrcontainers.CreateManagedEndpointInput) (*request.Request, *emrcontainers.CreateManagedEndpointOutput) + CreateSecurityConfiguration(*emrcontainers.CreateSecurityConfigurationInput) (*emrcontainers.CreateSecurityConfigurationOutput, error) + CreateSecurityConfigurationWithContext(aws.Context, *emrcontainers.CreateSecurityConfigurationInput, ...request.Option) (*emrcontainers.CreateSecurityConfigurationOutput, error) + CreateSecurityConfigurationRequest(*emrcontainers.CreateSecurityConfigurationInput) (*request.Request, *emrcontainers.CreateSecurityConfigurationOutput) + CreateVirtualCluster(*emrcontainers.CreateVirtualClusterInput) (*emrcontainers.CreateVirtualClusterOutput, error) CreateVirtualClusterWithContext(aws.Context, *emrcontainers.CreateVirtualClusterInput, ...request.Option) (*emrcontainers.CreateVirtualClusterOutput, error) CreateVirtualClusterRequest(*emrcontainers.CreateVirtualClusterInput) (*request.Request, *emrcontainers.CreateVirtualClusterOutput) @@ -100,6 +104,10 @@ type EMRContainersAPI interface { DescribeManagedEndpointWithContext(aws.Context, *emrcontainers.DescribeManagedEndpointInput, ...request.Option) (*emrcontainers.DescribeManagedEndpointOutput, error) DescribeManagedEndpointRequest(*emrcontainers.DescribeManagedEndpointInput) (*request.Request, *emrcontainers.DescribeManagedEndpointOutput) + DescribeSecurityConfiguration(*emrcontainers.DescribeSecurityConfigurationInput) (*emrcontainers.DescribeSecurityConfigurationOutput, error) + DescribeSecurityConfigurationWithContext(aws.Context, *emrcontainers.DescribeSecurityConfigurationInput, ...request.Option) (*emrcontainers.DescribeSecurityConfigurationOutput, error) + DescribeSecurityConfigurationRequest(*emrcontainers.DescribeSecurityConfigurationInput) (*request.Request, *emrcontainers.DescribeSecurityConfigurationOutput) + DescribeVirtualCluster(*emrcontainers.DescribeVirtualClusterInput) (*emrcontainers.DescribeVirtualClusterOutput, error) DescribeVirtualClusterWithContext(aws.Context, *emrcontainers.DescribeVirtualClusterInput, ...request.Option) (*emrcontainers.DescribeVirtualClusterOutput, error) DescribeVirtualClusterRequest(*emrcontainers.DescribeVirtualClusterInput) (*request.Request, *emrcontainers.DescribeVirtualClusterOutput) @@ -129,6 +137,13 @@ type EMRContainersAPI interface { ListManagedEndpointsPages(*emrcontainers.ListManagedEndpointsInput, func(*emrcontainers.ListManagedEndpointsOutput, bool) bool) error ListManagedEndpointsPagesWithContext(aws.Context, *emrcontainers.ListManagedEndpointsInput, func(*emrcontainers.ListManagedEndpointsOutput, bool) bool, ...request.Option) error + ListSecurityConfigurations(*emrcontainers.ListSecurityConfigurationsInput) (*emrcontainers.ListSecurityConfigurationsOutput, error) + ListSecurityConfigurationsWithContext(aws.Context, *emrcontainers.ListSecurityConfigurationsInput, ...request.Option) (*emrcontainers.ListSecurityConfigurationsOutput, error) + ListSecurityConfigurationsRequest(*emrcontainers.ListSecurityConfigurationsInput) (*request.Request, *emrcontainers.ListSecurityConfigurationsOutput) + + ListSecurityConfigurationsPages(*emrcontainers.ListSecurityConfigurationsInput, func(*emrcontainers.ListSecurityConfigurationsOutput, bool) bool) error + ListSecurityConfigurationsPagesWithContext(aws.Context, *emrcontainers.ListSecurityConfigurationsInput, func(*emrcontainers.ListSecurityConfigurationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*emrcontainers.ListTagsForResourceInput) (*emrcontainers.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *emrcontainers.ListTagsForResourceInput, ...request.Option) (*emrcontainers.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*emrcontainers.ListTagsForResourceInput) (*request.Request, *emrcontainers.ListTagsForResourceOutput) diff --git a/service/entityresolution/api.go b/service/entityresolution/api.go index f1161dd9431..06fe8ca68d6 100644 --- a/service/entityresolution/api.go +++ b/service/entityresolution/api.go @@ -113,6 +113,93 @@ func (c *EntityResolution) AddPolicyStatementWithContext(ctx aws.Context, input return out, req.Send() } +const opBatchDeleteUniqueId = "BatchDeleteUniqueId" + +// BatchDeleteUniqueIdRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteUniqueId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteUniqueId for more information on using the BatchDeleteUniqueId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchDeleteUniqueIdRequest method. +// req, resp := client.BatchDeleteUniqueIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/BatchDeleteUniqueId +func (c *EntityResolution) BatchDeleteUniqueIdRequest(input *BatchDeleteUniqueIdInput) (req *request.Request, output *BatchDeleteUniqueIdOutput) { + op := &request.Operation{ + Name: opBatchDeleteUniqueId, + HTTPMethod: "DELETE", + HTTPPath: "/matchingworkflows/{workflowName}/uniqueids", + } + + if input == nil { + input = &BatchDeleteUniqueIdInput{} + } + + output = &BatchDeleteUniqueIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteUniqueId API operation for AWS EntityResolution. +// +// Deletes multiple unique IDs in a matching workflow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS EntityResolution's +// API operation BatchDeleteUniqueId for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// This exception occurs when there is an internal failure in the Entity Resolution +// service. HTTP Status Code: 500 +// +// - ResourceNotFoundException +// The resource could not be found. HTTP Status Code: 404 +// +// - ValidationException +// The input fails to satisfy the constraints specified by Entity Resolution. +// HTTP Status Code: 400 +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/entityresolution-2018-05-10/BatchDeleteUniqueId +func (c *EntityResolution) BatchDeleteUniqueId(input *BatchDeleteUniqueIdInput) (*BatchDeleteUniqueIdOutput, error) { + req, out := c.BatchDeleteUniqueIdRequest(input) + return out, req.Send() +} + +// BatchDeleteUniqueIdWithContext is the same as BatchDeleteUniqueId with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteUniqueId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EntityResolution) BatchDeleteUniqueIdWithContext(ctx aws.Context, input *BatchDeleteUniqueIdInput, opts ...request.Option) (*BatchDeleteUniqueIdOutput, error) { + req, out := c.BatchDeleteUniqueIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateIdMappingWorkflow = "CreateIdMappingWorkflow" // CreateIdMappingWorkflowRequest generates a "aws/request.Request" representing the @@ -4032,6 +4119,144 @@ func (s *AddPolicyStatementOutput) SetToken(v string) *AddPolicyStatementOutput return s } +type BatchDeleteUniqueIdInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The input source for the batch delete unique ID operation. + InputSource *string `location:"header" locationName:"inputSource" type:"string"` + + // The unique IDs to delete. + // + // UniqueIds is a required field + UniqueIds []*string `location:"header" locationName:"uniqueIds" type:"list" required:"true"` + + // The name of the workflow. + // + // WorkflowName is a required field + WorkflowName *string `location:"uri" locationName:"workflowName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteUniqueIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteUniqueIdInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteUniqueIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteUniqueIdInput"} + if s.UniqueIds == nil { + invalidParams.Add(request.NewErrParamRequired("UniqueIds")) + } + if s.WorkflowName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowName")) + } + if s.WorkflowName != nil && len(*s.WorkflowName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSource sets the InputSource field's value. +func (s *BatchDeleteUniqueIdInput) SetInputSource(v string) *BatchDeleteUniqueIdInput { + s.InputSource = &v + return s +} + +// SetUniqueIds sets the UniqueIds field's value. +func (s *BatchDeleteUniqueIdInput) SetUniqueIds(v []*string) *BatchDeleteUniqueIdInput { + s.UniqueIds = v + return s +} + +// SetWorkflowName sets the WorkflowName field's value. +func (s *BatchDeleteUniqueIdInput) SetWorkflowName(v string) *BatchDeleteUniqueIdInput { + s.WorkflowName = &v + return s +} + +type BatchDeleteUniqueIdOutput struct { + _ struct{} `type:"structure"` + + // The unique IDs that were deleted. + // + // Deleted is a required field + Deleted []*DeletedUniqueId `locationName:"deleted" type:"list" required:"true"` + + // The unique IDs that were disconnected. + // + // DisconnectedUniqueIds is a required field + DisconnectedUniqueIds []*string `locationName:"disconnectedUniqueIds" type:"list" required:"true"` + + // The errors from deleting multiple unique IDs. + // + // Errors is a required field + Errors []*DeleteUniqueIdError `locationName:"errors" type:"list" required:"true"` + + // The status of the batch delete unique ID operation. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"DeleteUniqueIdStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteUniqueIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteUniqueIdOutput) GoString() string { + return s.String() +} + +// SetDeleted sets the Deleted field's value. +func (s *BatchDeleteUniqueIdOutput) SetDeleted(v []*DeletedUniqueId) *BatchDeleteUniqueIdOutput { + s.Deleted = v + return s +} + +// SetDisconnectedUniqueIds sets the DisconnectedUniqueIds field's value. +func (s *BatchDeleteUniqueIdOutput) SetDisconnectedUniqueIds(v []*string) *BatchDeleteUniqueIdOutput { + s.DisconnectedUniqueIds = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteUniqueIdOutput) SetErrors(v []*DeleteUniqueIdError) *BatchDeleteUniqueIdOutput { + s.Errors = v + return s +} + +// SetStatus sets the Status field's value. +func (s *BatchDeleteUniqueIdOutput) SetStatus(v string) *BatchDeleteUniqueIdOutput { + s.Status = &v + return s +} + // The request could not be processed because of conflict in the current state // of the resource. Example: Workflow already exists, Schema already exists, // Workflow is currently running, etc. HTTP Status Code: 400 @@ -5513,6 +5738,85 @@ func (s *DeleteSchemaMappingOutput) SetMessage(v string) *DeleteSchemaMappingOut return s } +// The Delete Unique Id error. +type DeleteUniqueIdError struct { + _ struct{} `type:"structure"` + + // The error type for the batch delete unique ID operation. + // + // ErrorType is a required field + ErrorType *string `locationName:"errorType" type:"string" required:"true" enum:"DeleteUniqueIdErrorType"` + + // The unique ID that could not be deleted. + // + // UniqueId is a required field + UniqueId *string `locationName:"uniqueId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteUniqueIdError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteUniqueIdError) GoString() string { + return s.String() +} + +// SetErrorType sets the ErrorType field's value. +func (s *DeleteUniqueIdError) SetErrorType(v string) *DeleteUniqueIdError { + s.ErrorType = &v + return s +} + +// SetUniqueId sets the UniqueId field's value. +func (s *DeleteUniqueIdError) SetUniqueId(v string) *DeleteUniqueIdError { + s.UniqueId = &v + return s +} + +// The deleted unique ID. +type DeletedUniqueId struct { + _ struct{} `type:"structure"` + + // The unique ID of the deleted item. + // + // UniqueId is a required field + UniqueId *string `locationName:"uniqueId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletedUniqueId) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletedUniqueId) GoString() string { + return s.String() +} + +// SetUniqueId sets the UniqueId field's value. +func (s *DeletedUniqueId) SetUniqueId(v string) *DeletedUniqueId { + s.UniqueId = &v + return s +} + // An object containing an error message, if there was an error. type ErrorDetails struct { _ struct{} `type:"structure"` @@ -11093,6 +11397,38 @@ func AttributeMatchingModel_Values() []string { } } +const ( + // DeleteUniqueIdErrorTypeServiceError is a DeleteUniqueIdErrorType enum value + DeleteUniqueIdErrorTypeServiceError = "SERVICE_ERROR" + + // DeleteUniqueIdErrorTypeValidationError is a DeleteUniqueIdErrorType enum value + DeleteUniqueIdErrorTypeValidationError = "VALIDATION_ERROR" +) + +// DeleteUniqueIdErrorType_Values returns all elements of the DeleteUniqueIdErrorType enum +func DeleteUniqueIdErrorType_Values() []string { + return []string{ + DeleteUniqueIdErrorTypeServiceError, + DeleteUniqueIdErrorTypeValidationError, + } +} + +const ( + // DeleteUniqueIdStatusCompleted is a DeleteUniqueIdStatus enum value + DeleteUniqueIdStatusCompleted = "COMPLETED" + + // DeleteUniqueIdStatusAccepted is a DeleteUniqueIdStatus enum value + DeleteUniqueIdStatusAccepted = "ACCEPTED" +) + +// DeleteUniqueIdStatus_Values returns all elements of the DeleteUniqueIdStatus enum +func DeleteUniqueIdStatus_Values() []string { + return []string{ + DeleteUniqueIdStatusCompleted, + DeleteUniqueIdStatusAccepted, + } +} + const ( // IdMappingTypeProvider is a IdMappingType enum value IdMappingTypeProvider = "PROVIDER" diff --git a/service/entityresolution/entityresolutioniface/interface.go b/service/entityresolution/entityresolutioniface/interface.go index 2a7bd64953a..019deeb7640 100644 --- a/service/entityresolution/entityresolutioniface/interface.go +++ b/service/entityresolution/entityresolutioniface/interface.go @@ -64,6 +64,10 @@ type EntityResolutionAPI interface { AddPolicyStatementWithContext(aws.Context, *entityresolution.AddPolicyStatementInput, ...request.Option) (*entityresolution.AddPolicyStatementOutput, error) AddPolicyStatementRequest(*entityresolution.AddPolicyStatementInput) (*request.Request, *entityresolution.AddPolicyStatementOutput) + BatchDeleteUniqueId(*entityresolution.BatchDeleteUniqueIdInput) (*entityresolution.BatchDeleteUniqueIdOutput, error) + BatchDeleteUniqueIdWithContext(aws.Context, *entityresolution.BatchDeleteUniqueIdInput, ...request.Option) (*entityresolution.BatchDeleteUniqueIdOutput, error) + BatchDeleteUniqueIdRequest(*entityresolution.BatchDeleteUniqueIdInput) (*request.Request, *entityresolution.BatchDeleteUniqueIdOutput) + CreateIdMappingWorkflow(*entityresolution.CreateIdMappingWorkflowInput) (*entityresolution.CreateIdMappingWorkflowOutput, error) CreateIdMappingWorkflowWithContext(aws.Context, *entityresolution.CreateIdMappingWorkflowInput, ...request.Option) (*entityresolution.CreateIdMappingWorkflowOutput, error) CreateIdMappingWorkflowRequest(*entityresolution.CreateIdMappingWorkflowInput) (*request.Request, *entityresolution.CreateIdMappingWorkflowOutput) diff --git a/service/gamelift/api.go b/service/gamelift/api.go index 051422f0927..15beb4e4fb4 100644 --- a/service/gamelift/api.go +++ b/service/gamelift/api.go @@ -532,6 +532,157 @@ func (c *GameLift) CreateBuildWithContext(ctx aws.Context, input *CreateBuildInp return out, req.Send() } +const opCreateContainerGroupDefinition = "CreateContainerGroupDefinition" + +// CreateContainerGroupDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the CreateContainerGroupDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateContainerGroupDefinition for more information on using the CreateContainerGroupDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateContainerGroupDefinitionRequest method. +// req, resp := client.CreateContainerGroupDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerGroupDefinition +func (c *GameLift) CreateContainerGroupDefinitionRequest(input *CreateContainerGroupDefinitionInput) (req *request.Request, output *CreateContainerGroupDefinitionOutput) { + op := &request.Operation{ + Name: opCreateContainerGroupDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateContainerGroupDefinitionInput{} + } + + output = &CreateContainerGroupDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateContainerGroupDefinition API operation for Amazon GameLift. +// +// This operation is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Creates a ContainerGroupDefinition resource that describes a set of containers +// for hosting your game server with Amazon GameLift managed EC2 hosting. An +// Amazon GameLift container group is similar to a container "task" and "pod". +// Each container group can have one or more containers. +// +// Use container group definitions when you create a container fleet. Container +// group definitions determine how Amazon GameLift deploys your containers to +// each instance in a container fleet. +// +// You can create two types of container groups, based on scheduling strategy: +// +// - A replica container group manages the containers that run your game +// server application and supporting software. Replica container groups might +// be replicated multiple times on each fleet instance, depending on instance +// resources. +// +// - A daemon container group manages containers that run other software, +// such as background services, logging, or test processes. You might use +// a daemon container group for processes that need to run only once per +// fleet instance, or processes that need to persist independently of the +// replica container group. +// +// To create a container group definition, specify a group name, a list of container +// definitions, and maximum total CPU and memory requirements for the container +// group. Specify an operating system and scheduling strategy or use the default +// values. When using the Amazon Web Services CLI tool, you can pass in your +// container definitions as a JSON file. +// +// This operation requires Identity and Access Management (IAM) permissions +// to access container images in Amazon ECR repositories. See IAM permissions +// for Amazon GameLift (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-iam-policy-examples.html) +// for help setting the appropriate permissions. +// +// If successful, this operation creates a new ContainerGroupDefinition resource +// with an ARN value assigned. You can't change the properties of a container +// group definition. Instead, create a new one. +// +// Learn more +// +// - Create a container group definition (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html) +// +// - Container fleet design guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html) +// +// - Create a container definition as a JSON file (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-definitions.html#containers-definitions-create) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateContainerGroupDefinition for usage and error information. +// +// Returned Error Types: +// +// - UnauthorizedException +// The client failed authentication. Clients should not retry such requests. +// +// - InvalidRequestException +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// - ConflictException +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// - LimitExceededException +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// - TaggingFailedException +// The requested tagging operation did not succeed. This may be due to invalid +// tag format or the maximum tag limit may have been exceeded. Resolve the issue +// before retrying. +// +// - InternalServiceException +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// - UnsupportedRegionException +// The requested operation is not supported in the Region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerGroupDefinition +func (c *GameLift) CreateContainerGroupDefinition(input *CreateContainerGroupDefinitionInput) (*CreateContainerGroupDefinitionOutput, error) { + req, out := c.CreateContainerGroupDefinitionRequest(input) + return out, req.Send() +} + +// CreateContainerGroupDefinitionWithContext is the same as CreateContainerGroupDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See CreateContainerGroupDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateContainerGroupDefinitionWithContext(ctx aws.Context, input *CreateContainerGroupDefinitionInput, opts ...request.Option) (*CreateContainerGroupDefinitionOutput, error) { + req, out := c.CreateContainerGroupDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateFleet = "CreateFleet" // CreateFleetRequest generates a "aws/request.Request" representing the @@ -575,49 +726,104 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // CreateFleet API operation for Amazon GameLift. // -// Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to -// host your custom game server or Realtime Servers. Use this operation to configure -// the computing resources for your fleet and provide instructions for running -// game servers on each instance. -// -// Most Amazon GameLift fleets can deploy instances to multiple locations, including -// the home Region (where the fleet is created) and an optional set of remote -// locations. Fleets that are created in the following Amazon Web Services Regions -// support multiple locations: us-east-1 (N. Virginia), us-west-2 (Oregon), -// eu-central-1 (Frankfurt), eu-west-1 (Ireland), ap-southeast-2 (Sydney), ap-northeast-1 -// (Tokyo), and ap-northeast-2 (Seoul). Fleets that are created in other Amazon -// GameLift Regions can deploy instances in the fleet's home Region only. All -// fleet instances use the same configuration regardless of location; however, -// you can adjust capacity settings and turn auto-scaling on/off for each location. -// -// To create a fleet, choose the hardware for your instances, specify a game -// server build or Realtime script to deploy, and provide a runtime configuration -// to direct Amazon GameLift how to start and run game servers on each instance -// in the fleet. Set permissions for inbound traffic to your game servers, and -// enable optional features as needed. When creating a multi-location fleet, -// provide a list of additional remote locations. -// -// If you need to debug your fleet, fetch logs, view performance metrics or -// other actions on the fleet, create the development fleet with port 22/3389 -// open. As a best practice, we recommend opening ports for remote access only -// when you need them and closing them when you're finished. -// -// If successful, this operation creates a new Fleet resource and places it -// in NEW status, which prompts Amazon GameLift to initiate the fleet creation -// workflow (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow). -// You can track fleet creation by checking fleet status using DescribeFleetAttributes -// and DescribeFleetLocationAttributes/, or by monitoring fleet creation events -// using DescribeFleetEvents. -// -// When the fleet status changes to ACTIVE, you can enable automatic scaling -// with PutScalingPolicy and set capacity for the home Region with UpdateFleetCapacity. -// When the status of each remote location reaches ACTIVE, you can set capacity -// by location using UpdateFleetCapacity. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// Creates a fleet of compute resources to host your game servers. Use this +// operation to set up the following types of fleets based on compute type: +// +// # Managed EC2 fleet +// +// An EC2 fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances. +// Your game server build is deployed to each fleet instance. Amazon GameLift +// manages the fleet's instances and controls the lifecycle of game server processes, +// which host game sessions for players. EC2 fleets can have instances in multiple +// locations. Each instance in the fleet is designated a Compute. +// +// To create an EC2 fleet, provide these required parameters: +// +// - Either BuildId or ScriptId +// +// - ComputeType set to EC2 (the default value) +// +// - EC2InboundPermissions +// +// - EC2InstanceType +// +// - FleetType +// +// - Name +// +// - RuntimeConfiguration with at least one ServerProcesses configuration +// +// If successful, this operation creates a new fleet resource and places it +// in NEW status while Amazon GameLift initiates the fleet creation workflow +// (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow). +// To debug your fleet, fetch logs, view performance metrics or other actions +// on the fleet, create a development fleet with port 22/3389 open. As a best +// practice, we recommend opening ports for remote access only when you need +// them and closing them when you're finished. +// +// When the fleet status is ACTIVE, you can adjust capacity settings and turn +// autoscaling on/off for each location. +// +// # Managed container fleet +// +// A container fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances. +// Your container architecture is deployed to each fleet instance based on the +// fleet configuration. Amazon GameLift manages the containers on each fleet +// instance and controls the lifecycle of game server processes, which host +// game sessions for players. Container fleets can have instances in multiple +// locations. Each container on an instance that runs game server processes +// is registered as a Compute. +// +// To create a container fleet, provide these required parameters: +// +// - ComputeType set to CONTAINER +// +// - ContainerGroupsConfiguration +// +// - EC2InboundPermissions +// +// - EC2InstanceType +// +// - FleetType set to ON_DEMAND +// +// - Name +// +// - RuntimeConfiguration with at least one ServerProcesses configuration +// +// If successful, this operation creates a new fleet resource and places it +// in NEW status while Amazon GameLift initiates the fleet creation workflow +// (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow). +// +// When the fleet status is ACTIVE, you can adjust capacity settings and turn +// autoscaling on/off for each location. +// +// # Anywhere fleet +// +// An Anywhere fleet represents compute resources that are not owned or managed +// by Amazon GameLift. You might create an Anywhere fleet with your local machine +// for testing, or use one to host game servers with on-premises hardware or +// other game hosting solutions. +// +// To create an Anywhere fleet, provide these required parameters: +// +// - ComputeType set to ANYWHERE +// +// - Locations specifying a custom location +// +// - Name +// +// If successful, this operation creates a new fleet resource and places it +// in ACTIVE status. You can register computes with a fleet in ACTIVE status. // // # Learn more // // Setting up fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html) // +// Setting up a container fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-build-fleet.html) +// // Debug fleet creation issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation) // // Multi-location fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html) @@ -640,6 +846,11 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // THe requested resources was not found. The resource was either not created // yet or deleted. // +// - NotReadyException +// The operation failed because Amazon GameLift has not yet finished validating +// this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes +// with exponential backoffs and jitter (http://aws.amazon.com/blogs/https:/aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). +// // - ConflictException // The requested operation would cause a conflict with the current state of // a service resource associated with the request. Resolve the conflict before @@ -729,14 +940,16 @@ func (c *GameLift) CreateFleetLocationsRequest(input *CreateFleetLocationsInput) // CreateFleetLocations API operation for Amazon GameLift. // -// Adds remote locations to a fleet and begins populating the new locations -// with EC2 instances. The new instances conform to the fleet's instance type, -// auto-scaling, and other configuration settings. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// This operation cannot be used with fleets that don't support remote locations. -// Fleets can have multiple locations only if they reside in Amazon Web Services -// Regions that support this feature and were created after the feature was -// released in March 2021. +// Adds remote locations to an EC2 or container fleet and begins populating +// the new locations with instances. The new instances conform to the fleet's +// instance type, auto-scaling, and other configuration settings. +// +// You can't add remote locations to a fleet that resides in an Amazon Web Services +// Region that doesn't support multiple locations. Fleets created prior to March +// 2021 can't support multiple locations. // // To add fleet locations, specify the fleet to be updated and provide a list // of one or more locations. @@ -777,6 +990,11 @@ func (c *GameLift) CreateFleetLocationsRequest(input *CreateFleetLocationsInput) // THe requested resources was not found. The resource was either not created // yet or deleted. // +// - NotReadyException +// The operation failed because Amazon GameLift has not yet finished validating +// this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes +// with exponential backoffs and jitter (http://aws.amazon.com/blogs/https:/aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). +// // - InvalidFleetStatusException // The requested operation would cause a conflict with the current state of // a resource associated with the request and/or the fleet. Resolve the conflict @@ -2448,6 +2666,117 @@ func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInp return out, req.Send() } +const opDeleteContainerGroupDefinition = "DeleteContainerGroupDefinition" + +// DeleteContainerGroupDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContainerGroupDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteContainerGroupDefinition for more information on using the DeleteContainerGroupDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteContainerGroupDefinitionRequest method. +// req, resp := client.DeleteContainerGroupDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinition +func (c *GameLift) DeleteContainerGroupDefinitionRequest(input *DeleteContainerGroupDefinitionInput) (req *request.Request, output *DeleteContainerGroupDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteContainerGroupDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteContainerGroupDefinitionInput{} + } + + output = &DeleteContainerGroupDefinitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteContainerGroupDefinition API operation for Amazon GameLift. +// +// This operation is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Deletes a container group definition resource. You can delete a container +// group definition if there are no fleets using the definition. +// +// To delete a container group definition, identify the resource to delete. +// +// Learn more +// +// - Manage a container group definition (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteContainerGroupDefinition for usage and error information. +// +// Returned Error Types: +// +// - UnauthorizedException +// The client failed authentication. Clients should not retry such requests. +// +// - NotFoundException +// THe requested resources was not found. The resource was either not created +// yet or deleted. +// +// - InternalServiceException +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// - TaggingFailedException +// The requested tagging operation did not succeed. This may be due to invalid +// tag format or the maximum tag limit may have been exceeded. Resolve the issue +// before retrying. +// +// - InvalidRequestException +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// - UnsupportedRegionException +// The requested operation is not supported in the Region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinition +func (c *GameLift) DeleteContainerGroupDefinition(input *DeleteContainerGroupDefinitionInput) (*DeleteContainerGroupDefinitionOutput, error) { + req, out := c.DeleteContainerGroupDefinitionRequest(input) + return out, req.Send() +} + +// DeleteContainerGroupDefinitionWithContext is the same as DeleteContainerGroupDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteContainerGroupDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteContainerGroupDefinitionWithContext(ctx aws.Context, input *DeleteContainerGroupDefinitionInput, opts ...request.Option) (*DeleteContainerGroupDefinitionOutput, error) { + req, out := c.DeleteContainerGroupDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFleet = "DeleteFleet" // DeleteFleetRequest generates a "aws/request.Request" representing the @@ -2492,18 +2821,17 @@ func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Req // DeleteFleet API operation for Amazon GameLift. // -// Deletes all resources and information related a fleet. Any current fleet -// instances, including those in remote locations, are shut down. You don't -// need to call DeleteFleetLocations separately. +// Deletes all resources and information related to a fleet and shuts down any +// currently running fleet instances, including those in remote locations. // // If the fleet being deleted has a VPC peering connection, you first need to // get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization // (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html). -// You do not need to explicitly delete the VPC peering connection. +// You don't need to explicitly delete the VPC peering connection. // // To delete a fleet, specify the fleet ID to be terminated. During the deletion -// process the fleet status is changed to DELETING. When completed, the status -// switches to TERMINATED and the fleet event FLEET_DELETED is sent. +// process, the fleet status is changed to DELETING. When completed, the status +// switches to TERMINATED and the fleet event FLEET_DELETED is emitted. // // # Learn more // @@ -3655,8 +3983,20 @@ func (c *GameLift) DeregisterComputeRequest(input *DeregisterComputeInput) (req // DeregisterCompute API operation for Amazon GameLift. // -// Removes a compute resource from an Amazon GameLift Anywhere fleet. Deregistered -// computes can no longer host game sessions through Amazon GameLift. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// Removes a compute resource from an Amazon GameLift Anywhere fleet or container +// fleet. Deregistered computes can no longer host game sessions through Amazon +// GameLift. +// +// For an Anywhere fleet or a container fleet that's running the Amazon GameLift +// Agent, the Agent handles all compute registry tasks for you. For an Anywhere +// fleet that doesn't use the Agent, call this operation to deregister fleet +// computes. +// +// To deregister a compute, call this operation from the compute that's being +// deregistered and specify the compute name and the fleet ID. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4054,15 +4394,27 @@ func (c *GameLift) DescribeComputeRequest(input *DescribeComputeInput) (req *req // DescribeCompute API operation for Amazon GameLift. // +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// // Retrieves properties for a compute resource in an Amazon GameLift fleet. -// Call ListCompute to get a list of compute resources in a fleet. You can request -// information for computes in either managed EC2 fleets or Anywhere fleets. +// To get a list of all computes in a fleet, call ListCompute. // -// To request compute properties, specify the compute name and fleet ID. +// To request information on a specific compute, provide the fleet ID and compute +// name. // // If successful, this operation returns details for the requested compute resource. -// For managed EC2 fleets, this operation returns the fleet's EC2 instances. -// For Anywhere fleets, this operation returns the fleet's registered computes. +// Depending on the fleet's compute type, the result includes the following +// information: +// +// - For EC2 fleets, this operation returns information about the EC2 instance. +// +// - For ANYWHERE fleets, this operation returns information about the registered +// compute. +// +// - For CONTAINER fleets, this operation returns information about the container +// that's registered as a compute, and the instance it's running on. The +// compute name is the container name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4111,6 +4463,113 @@ func (c *GameLift) DescribeComputeWithContext(ctx aws.Context, input *DescribeCo return out, req.Send() } +const opDescribeContainerGroupDefinition = "DescribeContainerGroupDefinition" + +// DescribeContainerGroupDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeContainerGroupDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeContainerGroupDefinition for more information on using the DescribeContainerGroupDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeContainerGroupDefinitionRequest method. +// req, resp := client.DescribeContainerGroupDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerGroupDefinition +func (c *GameLift) DescribeContainerGroupDefinitionRequest(input *DescribeContainerGroupDefinitionInput) (req *request.Request, output *DescribeContainerGroupDefinitionOutput) { + op := &request.Operation{ + Name: opDescribeContainerGroupDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeContainerGroupDefinitionInput{} + } + + output = &DescribeContainerGroupDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeContainerGroupDefinition API operation for Amazon GameLift. +// +// This operation is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Retrieves the properties of a container group definition, including all container +// definitions in the group. +// +// To retrieve a container group definition, provide a resource identifier. +// If successful, this operation returns the complete properties of the container +// group definition. +// +// Learn more +// +// - Manage a container group definition (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeContainerGroupDefinition for usage and error information. +// +// Returned Error Types: +// +// - UnauthorizedException +// The client failed authentication. Clients should not retry such requests. +// +// - InvalidRequestException +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// - NotFoundException +// THe requested resources was not found. The resource was either not created +// yet or deleted. +// +// - InternalServiceException +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// - UnsupportedRegionException +// The requested operation is not supported in the Region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerGroupDefinition +func (c *GameLift) DescribeContainerGroupDefinition(input *DescribeContainerGroupDefinitionInput) (*DescribeContainerGroupDefinitionOutput, error) { + req, out := c.DescribeContainerGroupDefinitionRequest(input) + return out, req.Send() +} + +// DescribeContainerGroupDefinitionWithContext is the same as DescribeContainerGroupDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeContainerGroupDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeContainerGroupDefinitionWithContext(ctx aws.Context, input *DescribeContainerGroupDefinitionInput, opts ...request.Option) (*DescribeContainerGroupDefinitionOutput, error) { + req, out := c.DescribeContainerGroupDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits" // DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the @@ -4300,13 +4759,17 @@ func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributes // DescribeFleetAttributes API operation for Amazon GameLift. // -// Retrieves core fleet-wide properties, including the computing hardware and -// deployment configuration for all instances in the fleet. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// This operation can be used in the following ways: +// Retrieves core fleet-wide properties for fleets in an Amazon Web Services +// Region. Properties include the computing hardware and deployment configuration +// for instances in the fleet. +// +// You can use this operation in the following ways: // -// - To get attributes for one or more specific fleets, provide a list of -// fleet IDs or fleet ARNs. +// - To get attributes for specific fleets, provide a list of fleet IDs or +// fleet ARNs. // // - To get attributes for all fleets, do not provide a fleet identifier. // @@ -4471,10 +4934,14 @@ func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInpu // DescribeFleetCapacity API operation for Amazon GameLift. // -// Retrieves the resource capacity settings for one or more fleets. The data -// returned includes the current fleet capacity (number of EC2 instances), and -// settings that can control how capacity scaling. For fleets with remote locations, -// this operation retrieves data for the fleet's home Region only. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// Retrieves the resource capacity settings for one or more fleets. For a container +// fleet, this operation also returns counts for replica container groups. +// +// With multi-location fleets, this operation retrieves data for the fleet's +// home Region only. To retrieve capacity for remote locations, see DescribeFleetLocationCapacity. // // This operation can be used in the following ways: // @@ -4488,8 +4955,8 @@ func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInpu // // If successful, a FleetCapacity object is returned for each requested fleet // ID. Each FleetCapacity object includes a Location property, which is set -// to the fleet's home Region. When a list of fleet IDs is provided, attribute -// objects are returned only for fleets that currently exist. +// to the fleet's home Region. Capacity values are returned only for fleets +// that currently exist. // // Some API operations may limit the number of fleet IDs that are allowed in // one request. If a request exceeds this limit, the request fails and the error @@ -4979,9 +5446,12 @@ func (c *GameLift) DescribeFleetLocationCapacityRequest(input *DescribeFleetLoca // // Retrieves the resource capacity settings for a fleet location. The data returned // includes the current capacity (number of EC2 instances) and some scaling -// settings for the requested fleet location. Use this operation to retrieve -// capacity information for a fleet's remote location or home Region (you can -// also retrieve home Region capacity by calling DescribeFleetCapacity). +// settings for the requested fleet location. For a container fleet, this operation +// also returns counts for replica container groups. +// +// Use this operation to retrieve capacity information for a fleet's remote +// location or home Region (you can also retrieve home Region capacity by calling +// DescribeFleetCapacity). // // To retrieve capacity data, identify a fleet and location. // @@ -5198,22 +5668,24 @@ func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSett // DescribeFleetPortSettings API operation for Amazon GameLift. // // Retrieves a fleet's inbound connection permissions. Connection permissions -// specify the range of IP addresses and port settings that incoming traffic -// can use to access server processes in the fleet. Game sessions that are running -// on instances in the fleet must use connections that fall in this range. +// specify IP addresses and port settings that incoming traffic can use to access +// server processes in the fleet. Game server processes that are running in +// the fleet must use a port that falls within this range. To connect to game +// server processes on a container fleet, the port settings should include one +// or more of the fleet's connection ports. // -// This operation can be used in the following ways: +// Use this operation in the following ways: // -// - To retrieve the inbound connection permissions for a fleet, identify -// the fleet's unique identifier. +// - To retrieve the port settings for a fleet, identify the fleet's unique +// identifier. // // - To check the status of recent updates to a fleet remote location, specify // the fleet ID and a location. Port setting updates can take time to propagate // across all locations. // // If successful, a set of IpPermission objects is returned for the requested -// fleet ID. When a location is specified, a pending status is included. If -// the requested fleet has been deleted, the result set is empty. +// fleet ID. When specifying a location, this operation returns a pending status. +// If the requested fleet has been deleted, the result set is empty. // // # Learn more // @@ -7293,11 +7765,13 @@ func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeCon // DescribeRuntimeConfiguration API operation for Amazon GameLift. // // Retrieves a fleet's runtime configuration settings. The runtime configuration -// tells Amazon GameLift which server processes to run (and how) on each instance -// in the fleet. +// determines which server processes run, and how, on computes in the fleet. +// For managed EC2 fleets, the runtime configuration describes server processes +// that run on each fleet instance. For container fleets, the runtime configuration +// describes server processes that run in each replica container group. You +// can update a fleet's runtime configuration at any time using UpdateRuntimeConfiguration. // -// To get the runtime configuration that is currently in forces for a fleet, -// provide the fleet ID. +// To get the current runtime configuration for a fleet, provide the fleet ID. // // If successful, a RuntimeConfiguration object is returned for the requested // fleet. If the requested fleet has been deleted, the result set is empty. @@ -7860,27 +8334,38 @@ func (c *GameLift) GetComputeAccessRequest(input *GetComputeAccessInput) (req *r // GetComputeAccess API operation for Amazon GameLift. // -// Requests authorization to remotely connect to a compute resource in an Amazon -// GameLift fleet. Call this action to connect to an instance in a managed EC2 -// fleet if the fleet's game build uses Amazon GameLift server SDK 5.x or later. -// To connect to instances with game builds that use server SDK 4.x or earlier, -// call GetInstanceAccess. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// Requests authorization to remotely connect to a hosting resource in a Amazon +// GameLift managed fleet. This operation is not used with Amazon GameLift Anywhere +// fleets // -// To request access to a compute, identify the specific EC2 instance and the -// fleet it belongs to. You can retrieve instances for a managed EC2 fleet by -// calling ListCompute. +// To request access, specify the compute name and the fleet ID. If successful, +// this operation returns a set of temporary Amazon Web Services credentials, +// including a two-part access key and a session token. // -// If successful, this operation returns a set of temporary Amazon Web Services -// credentials, including a two-part access key and a session token. Use these -// credentials with Amazon EC2 Systems Manager (SSM) to start a session with -// the compute. For more details, see Starting a session (CLI) (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) +// # EC2 fleets +// +// With an EC2 fleet (where compute type is EC2), use these credentials with +// Amazon EC2 Systems Manager (SSM) to start a session with the compute. For +// more details, see Starting a session (CLI) (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) // in the Amazon EC2 Systems Manager User Guide. // -// # Learn more +// # Container fleets // -// Remotely connect to fleet instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html) +// With a container fleet (where compute type is CONTAINER), use these credentials +// and the target value with SSM to connect to the fleet instance where the +// container is running. After you're connected to the instance, use Docker +// commands to interact with the container. // -// Debug fleet issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html) +// Learn more +// +// - Remotely connect to fleet instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html) +// +// - Debug fleet issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html) +// +// - Remotely connect to a container fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-remote-access.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7972,15 +8457,24 @@ func (c *GameLift) GetComputeAuthTokenRequest(input *GetComputeAuthTokenInput) ( // GetComputeAuthToken API operation for Amazon GameLift. // -// Requests an authentication token from Amazon GameLift for a registered compute -// in an Anywhere fleet. The game servers that are running on the compute use -// this token to authenticate with the Amazon GameLift service. Each server -// process must provide a valid authentication token in its call to the Amazon -// GameLift server SDK action InitSDK(). +// Requests an authentication token from Amazon GameLift for a compute resource +// in an Amazon GameLift Anywhere fleet or container fleet. Game servers that +// are running on the compute use this token to communicate with the Amazon +// GameLift service, such as when calling the Amazon GameLift server SDK action +// InitSDK(). Authentication tokens are valid for a limited time span, so you +// need to request a fresh token before the current token expires. +// +// Use this operation based on the fleet compute type: +// +// - For EC2 fleets, auth token retrieval and refresh is handled automatically. +// All game servers that are running on all fleet instances have access to +// a valid auth token. // -// Authentication tokens are valid for a limited time span. Use a mechanism -// to regularly request a fresh authentication token before the current token -// expires. +// - For ANYWHERE and CONTAINER fleets, if you're using the Amazon GameLift +// Agent, auth token retrieval and refresh is handled automatically for any +// container or Anywhere compute where the Agent is running. If you're not +// using the Agent, create a mechanism to retrieve and refresh auth tokens +// for computes that are running game server processes. // // Learn more // @@ -8619,16 +9113,30 @@ func (c *GameLift) ListComputeRequest(input *ListComputeInput) (req *request.Req // ListCompute API operation for Amazon GameLift. // -// Retrieves the compute resources in an Amazon GameLift fleet. You can request -// information for either managed EC2 fleets or Anywhere fleets. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// To request a list of computes, specify the fleet ID. You can filter the result -// set by location. Use the pagination parameters to retrieve results in a set -// of sequential pages. +// Retrieves information on the compute resources in an Amazon GameLift fleet. +// +// To request a list of computes, specify the fleet ID. Use the pagination parameters +// to retrieve results in a set of sequential pages. +// +// You can filter the result set by location. +// +// If successful, this operation returns information on all computes in the +// requested fleet. Depending on the fleet's compute type, the result includes +// the following information: // -// If successful, this operation returns the compute resource for the requested -// fleet. For managed EC2 fleets, it returns a list of EC2 instances. For Anywhere -// fleets, it returns a list of registered compute names. +// - For EC2 fleets, this operation returns information about the EC2 instance. +// Compute names are instance IDs. +// +// - For ANYWHERE fleets, this operation returns the compute names and details +// provided when the compute was registered with RegisterCompute. The GameLiftServiceSdkEndpoint +// or GameLiftAgentEndpoint is included. +// +// - For CONTAINER fleets, this operation returns information about containers +// that are registered as computes, and the instances they're running on. +// Compute names are container names. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8724,6 +9232,167 @@ func (c *GameLift) ListComputePagesWithContext(ctx aws.Context, input *ListCompu return p.Err() } +const opListContainerGroupDefinitions = "ListContainerGroupDefinitions" + +// ListContainerGroupDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListContainerGroupDefinitions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListContainerGroupDefinitions for more information on using the ListContainerGroupDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListContainerGroupDefinitionsRequest method. +// req, resp := client.ListContainerGroupDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitions +func (c *GameLift) ListContainerGroupDefinitionsRequest(input *ListContainerGroupDefinitionsInput) (req *request.Request, output *ListContainerGroupDefinitionsOutput) { + op := &request.Operation{ + Name: opListContainerGroupDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListContainerGroupDefinitionsInput{} + } + + output = &ListContainerGroupDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListContainerGroupDefinitions API operation for Amazon GameLift. +// +// This operation is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Retrieves all container group definitions for the Amazon Web Services account +// and Amazon Web Services Region that are currently in use. You can filter +// the result set by the container groups' scheduling strategy. Use the pagination +// parameters to retrieve results in a set of sequential pages. +// +// This operation returns the list of container group definitions in no particular +// order. +// +// Learn more +// +// - Manage a container group definition (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ListContainerGroupDefinitions for usage and error information. +// +// Returned Error Types: +// +// - UnauthorizedException +// The client failed authentication. Clients should not retry such requests. +// +// - InvalidRequestException +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// - InternalServiceException +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// - UnsupportedRegionException +// The requested operation is not supported in the Region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitions +func (c *GameLift) ListContainerGroupDefinitions(input *ListContainerGroupDefinitionsInput) (*ListContainerGroupDefinitionsOutput, error) { + req, out := c.ListContainerGroupDefinitionsRequest(input) + return out, req.Send() +} + +// ListContainerGroupDefinitionsWithContext is the same as ListContainerGroupDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See ListContainerGroupDefinitions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ListContainerGroupDefinitionsWithContext(ctx aws.Context, input *ListContainerGroupDefinitionsInput, opts ...request.Option) (*ListContainerGroupDefinitionsOutput, error) { + req, out := c.ListContainerGroupDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListContainerGroupDefinitionsPages iterates over the pages of a ListContainerGroupDefinitions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListContainerGroupDefinitions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListContainerGroupDefinitions operation. +// pageNum := 0 +// err := client.ListContainerGroupDefinitionsPages(params, +// func(page *gamelift.ListContainerGroupDefinitionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *GameLift) ListContainerGroupDefinitionsPages(input *ListContainerGroupDefinitionsInput, fn func(*ListContainerGroupDefinitionsOutput, bool) bool) error { + return c.ListContainerGroupDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListContainerGroupDefinitionsPagesWithContext same as ListContainerGroupDefinitionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ListContainerGroupDefinitionsPagesWithContext(ctx aws.Context, input *ListContainerGroupDefinitionsInput, fn func(*ListContainerGroupDefinitionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListContainerGroupDefinitionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListContainerGroupDefinitionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListContainerGroupDefinitionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListFleets = "ListFleets" // ListFleetsRequest generates a "aws/request.Request" representing the @@ -8773,37 +9442,36 @@ func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Reque // ListFleets API operation for Amazon GameLift. // +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// // Retrieves a collection of fleet resources in an Amazon Web Services Region. -// You can call this operation to get fleets in a previously selected default -// Region (see https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html -// (https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html)or -// specify a Region in your request. You can filter the result set to find only -// those fleets that are deployed with a specific build or script. For fleets -// that have multiple locations, this operation retrieves fleets based on their -// home Region only. +// You can filter the result set to find only those fleets that are deployed +// with a specific build or script. For fleets that have multiple locations, +// this operation retrieves fleets based on their home Region only. // -// This operation can be used in the following ways: +// You can use operation in the following ways: // // - To get a list of all fleets in a Region, don't provide a build or script // identifier. // -// - To get a list of all fleets where a specific custom game build is deployed, +// - To get a list of all fleets where a specific game build is deployed, // provide the build ID. // // - To get a list of all Realtime Servers fleets with a specific configuration // script, provide the script ID. // +// - To get a list of all fleets with a specific container group definition, +// provide the ContainerGroupDefinition ID. +// // Use the pagination parameters to retrieve results as a set of sequential // pages. // -// If successful, a list of fleet IDs that match the request parameters is returned. -// A NextToken value is also returned if there are more result pages to retrieve. -// -// Fleet resources are not listed in a particular order. -// -// # Learn more +// If successful, this operation returns a list of fleet IDs that match the +// request parameters. A NextToken value is also returned if there are more +// result pages to retrieve. // -// Setting up Amazon GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html) +// Fleet IDs are returned in no particular order. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9815,21 +10483,29 @@ func (c *GameLift) RegisterComputeRequest(input *RegisterComputeInput) (req *req // RegisterCompute API operation for Amazon GameLift. // -// Registers a compute resource to an Amazon GameLift Anywhere fleet. With Anywhere -// fleets you can incorporate your own computing hardware into an Amazon GameLift -// game hosting solution. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// Registers a compute resource in an Amazon GameLift fleet. Register computes +// with an Amazon GameLift Anywhere fleet or a container fleet. +// +// For an Anywhere fleet or a container fleet that's running the Amazon GameLift +// Agent, the Agent handles all compute registry tasks for you. For an Anywhere +// fleet that doesn't use the Agent, call this operation to register fleet computes. +// +// To register a compute, give the compute a name (must be unique within the +// fleet) and specify the compute resource's DNS name or IP address. Provide +// a fleet ID and a fleet location to associate with the compute being registered. +// You can optionally include the path to a TLS certificate on the compute resource. // -// To register a compute to a fleet, give the compute a name (must be unique -// within the fleet) and specify the compute resource's DNS name or IP address. -// Provide the Anywhere fleet ID and a fleet location to associate with the -// compute being registered. You can optionally include the path to a TLS certificate -// on the compute resource. +// If successful, this operation returns compute details, including an Amazon +// GameLift SDK endpoint or Agent endpoint. Game server processes running on +// the compute can use this endpoint to communicate with the Amazon GameLift +// service. Each server process includes the SDK endpoint in its call to the +// Amazon GameLift server SDK action InitSDK(). // -// If successful, this operation returns the compute details, including an Amazon -// GameLift SDK endpoint. Game server processes that run on the compute use -// this endpoint to communicate with the Amazon GameLift service. Each server -// process includes the SDK endpoint in its call to the Amazon GameLift server -// SDK action InitSDK(). +// To view compute details, call DescribeCompute (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeCompute.html) +// with the compute name. // // Learn more // @@ -9866,6 +10542,11 @@ func (c *GameLift) RegisterComputeRequest(input *RegisterComputeInput) (req *req // the request. Clients can retry such requests immediately or after a waiting // period. // +// - NotReadyException +// The operation failed because Amazon GameLift has not yet finished validating +// this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes +// with exponential backoffs and jitter (http://aws.amazon.com/blogs/https:/aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). +// // - LimitExceededException // The requested operation would cause the resource to exceed the allowed service // limit. Resolve the issue before retrying. @@ -10055,7 +10736,7 @@ func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentia // // Retrieves a fresh set of credentials for use when uploading a new set of // game build files to Amazon GameLift's Amazon S3. This is done as part of -// the build creation process; see GameSession (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateBuild.html). +// the build creation process; see CreateBuild (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateBuild.html). // // To request new credentials, specify the build ID as returned with an initial // CreateBuild request. If successful, a new set of credentials are returned, @@ -10157,7 +10838,11 @@ func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.R // ResolveAlias API operation for Amazon GameLift. // -// Retrieves the fleet ID that an alias is currently pointing to. +// Attempts to retrieve a fleet ID that is associated with an alias. Specify +// a unique alias identifier. +// +// If the alias has a SIMPLE routing strategy, Amazon GameLift returns a fleet +// ID. If the alias has a TERMINAL routing strategy, the result is a TerminalRoutingStrategyException. // // # Related actions // @@ -10381,7 +11066,7 @@ func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (re // This operation is not designed to continually track game session status because // that practice can cause you to exceed your API limit and generate errors. // Instead, configure an Amazon Simple Notification Service (Amazon SNS) topic -// to receive notifications from a matchmaker or game session placement queue. +// to receive notifications from a matchmaker or a game session placement queue. // // When searching for game sessions, you specify exactly where you want to search // and provide a search filter expression, a sort expression, or both. A search @@ -11113,6 +11798,7 @@ func (c *GameLift) StopFleetActionsRequest(input *StopFleetActionsInput) (req *r // // If successful, Amazon GameLift no longer initiates scaling events except // in response to manual changes using UpdateFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html). +// To restart fleet actions again, call StartFleetActions (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartFleetActions.html). // // # Learn more // @@ -11754,10 +12440,10 @@ func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Req // UpdateAlias API operation for Amazon GameLift. // -// Updates properties for an alias. To update properties, specify the alias -// ID to be updated and provide the information to be changed. To reassign an -// alias to another fleet, provide an updated routing strategy. If successful, -// the updated alias record is returned. +// Updates properties for an alias. Specify the unique identifier of the alias +// to be updated and the new property values. When reassigning an alias to a +// new fleet, provide an updated routing strategy. If successful, the updated +// alias record is returned. // // # Related actions // @@ -11954,13 +12640,12 @@ func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInpu // UpdateFleetAttributes API operation for Amazon GameLift. // -// Updates a fleet's mutable attributes, including game session protection and +// Updates a fleet's mutable attributes, such as game session protection and // resource creation limits. // // To update fleet attributes, specify the fleet ID and the property values -// that you want to change. -// -// If successful, an updated FleetAttributes object is returned. +// that you want to change. If successful, Amazon GameLift returns the identifiers +// for the updated fleet. // // # Learn more // @@ -12070,41 +12755,45 @@ func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) ( // UpdateFleetCapacity API operation for Amazon GameLift. // -// Updates capacity settings for a fleet. For fleets with multiple locations, -// use this operation to manage capacity settings in each location individually. -// Fleet capacity determines the number of game sessions and players that can -// be hosted based on the fleet configuration. Use this operation to set the -// following fleet capacity properties: +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// - Minimum/maximum size: Set hard limits on fleet capacity. Amazon GameLift -// cannot set the fleet's capacity to a value outside of this range, whether -// the capacity is changed manually or through automatic scaling. +// Updates capacity settings for a managed EC2 fleet or container fleet. For +// these fleets, you adjust capacity by changing the number of instances in +// the fleet. Fleet capacity determines the number of game sessions and players +// that the fleet can host based on its configuration. For fleets with multiple +// locations, use this operation to manage capacity settings in each location +// individually. // -// - Desired capacity: Manually set the number of Amazon EC2 instances to -// be maintained in a fleet location. Before changing a fleet's desired capacity, -// you may want to call DescribeEC2InstanceLimits (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeEC2InstanceLimits.html) -// to get the maximum capacity of the fleet's Amazon EC2 instance type. Alternatively, -// consider using automatic scaling to adjust capacity based on player demand. +// Use this operation to set these fleet capacity properties: // -// This operation can be used in the following ways: +// - Minimum/maximum size: Set hard limits on the number of Amazon EC2 instances +// allowed. If Amazon GameLift receives a request--either through manual +// update or automatic scaling--it won't change the capacity to a value outside +// of this range. +// +// - Desired capacity: As an alternative to automatic scaling, manually set +// the number of Amazon EC2 instances to be maintained. Before changing a +// fleet's desired capacity, check the maximum capacity of the fleet's Amazon +// EC2 instance type by calling DescribeEC2InstanceLimits (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeEC2InstanceLimits.html). // -// - To update capacity for a fleet's home Region, or if the fleet has no -// remote locations, omit the Location parameter. The fleet must be in ACTIVE -// status. +// To update capacity for a fleet's home Region, or if the fleet has no remote +// locations, omit the Location parameter. The fleet must be in ACTIVE status. // -// - To update capacity for a fleet's remote location, include the Location -// parameter set to the location to be updated. The location must be in ACTIVE -// status. +// To update capacity for a fleet's remote location, set the Location parameter +// to the location to update. The location must be in ACTIVE status. // -// If successful, capacity settings are updated immediately. In response a change -// in desired capacity, Amazon GameLift initiates steps to start new instances -// or terminate existing instances in the requested fleet location. This continues -// until the location's active instance count matches the new desired instance -// count. You can track a fleet's current capacity by calling DescribeFleetCapacity -// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) +// If successful, Amazon GameLift updates the capacity settings and returns +// the identifiers for the updated fleet and/or location. If a requested change +// to desired capacity exceeds the instance type's limit, the LimitExceeded +// exception occurs. +// +// Updates often prompt an immediate change in fleet capacity, such as when +// current capacity is different than the new desired capacity or outside the +// new limits. In this scenario, Amazon GameLift automatically initiates steps +// to add or remove instances in the fleet location. You can track a fleet's +// current capacity by calling DescribeFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) // or DescribeFleetLocationCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html). -// If the requested desired instance count is higher than the instance type's -// limit, the LimitExceeded exception occurs. // // # Learn more // @@ -12218,13 +12907,16 @@ func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettings // UpdateFleetPortSettings API operation for Amazon GameLift. // // Updates permissions that allow inbound traffic to connect to game sessions -// that are being hosted on instances in the fleet. +// in the fleet. // // To update settings, specify the fleet ID to be updated and specify the changes // to be made. List the permissions you want to add in InboundPermissionAuthorizations, // and permissions you want to remove in InboundPermissionRevocations. Permissions // to be removed must match existing fleet permissions. // +// For a container fleet, inbound permissions must specify port numbers that +// are defined in the fleet's connection port settings. +// // If successful, the fleet ID for the updated fleet is returned. For fleets // with remote locations, port setting updates can take time to propagate across // all locations. You can check the status of updates in each location by calling @@ -12874,20 +13566,23 @@ func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigu // UpdateRuntimeConfiguration API operation for Amazon GameLift. // -// Updates the current runtime configuration for the specified fleet, which -// tells Amazon GameLift how to launch server processes on all instances in -// the fleet. You can update a fleet's runtime configuration at any time after -// the fleet is created; it does not need to be in ACTIVE status. +// Updates the runtime configuration for the specified fleet. The runtime configuration +// tells Amazon GameLift how to launch server processes on computes in the fleet. +// For managed EC2 fleets, it determines what server processes to run on each +// fleet instance. For container fleets, it describes what server processes +// to run in each replica container group. You can update a fleet's runtime +// configuration at any time after the fleet is created; it does not need to +// be in ACTIVE status. // // To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration // with an updated set of server process configurations. // -// If successful, the fleet's runtime configuration settings are updated. Each -// instance in the fleet regularly checks for and retrieves updated runtime -// configurations. Instances immediately begin complying with the new configuration -// by launching new server processes or not replacing existing processes when -// they shut down. Updating a fleet's runtime configuration never affects existing -// server processes. +// If successful, the fleet's runtime configuration settings are updated. Fleet +// computes that run game server processes regularly check for and receive updated +// runtime configurations. The computes immediately take action to comply with +// the new configuration by launching new server processes or by not replacing +// existing processes when they shut down. Updating a fleet's runtime configuration +// never affects existing server processes. // // # Learn more // @@ -12923,6 +13618,10 @@ func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigu // a resource associated with the request and/or the fleet. Resolve the conflict // before retrying. // +// - LimitExceededException +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) { req, out := c.UpdateRuntimeConfigurationRequest(input) @@ -13352,7 +14051,7 @@ func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias { return s } -// Amazon GameLift Anywhere configuration options for your Anywhere fleets. +// Amazon GameLift configuration options for your Anywhere fleets. type AnywhereConfiguration struct { _ struct{} `type:"structure"` @@ -13676,6 +14375,9 @@ func (s *Build) SetVersion(v string) *Build { return s } +// This data type has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// // Determines whether a TLS/SSL certificate is generated for a fleet. This feature // must be enabled when creating the fleet. All instances in a fleet share the // same certificate. The certificate can be retrieved by calling the Amazon @@ -13889,25 +14591,39 @@ func (s *ClaimGameServerOutput) SetGameServer(v *GameServer) *ClaimGameServerOut return s } -// An Amazon GameLift compute resource for hosting your game servers. A compute -// can be an EC2instance in a managed EC2 fleet or a registered compute in an -// Anywhere fleet. +// This data type has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// An Amazon GameLift compute resource for hosting your game servers. Computes +// in an Amazon GameLift fleet differs depending on the fleet's compute type +// property as follows: +// +// - For EC2 fleets, a compute is an EC2 instance. +// +// - For ANYWHERE fleets, a compute is a computing resource that you provide +// and is registered to the fleet. +// +// - For CONTAINER fleets, a compute is a container that's registered to +// the fleet. type Compute struct { _ struct{} `type:"structure"` // The ARN that is assigned to a compute resource and uniquely identifies it. // ARNs are unique across locations. Instances in managed EC2 fleets are not - // assigned a ComputeARN. + // assigned a Compute ARN. ComputeArn *string `type:"string"` // A descriptive label for the compute resource. For instances in a managed - // EC2 fleet, the compute name is an instance ID. + // EC2 fleet, the compute name is the same value as the InstanceId ID. ComputeName *string `min:"1" type:"string"` // Current status of the compute. A compute must have an ACTIVE status to host // game sessions. ComputeStatus *string `type:"string" enum:"ComputeStatus"` + // Some attributes of a container. + ContainerAttributes *ContainerAttributes `type:"structure"` + // A time stamp indicating when this data object was created. Format is a number // expressed in Unix time as milliseconds (for example "1469498468.057"). CreationTime *time.Time `type:"timestamp"` @@ -13922,11 +14638,18 @@ type Compute struct { // A unique identifier for the fleet that the compute belongs to. FleetId *string `type:"string"` + // The endpoint of the Amazon GameLift Agent. + GameLiftAgentEndpoint *string `min:"1" type:"string"` + // The Amazon GameLift SDK endpoint connection for a registered compute resource // in an Anywhere fleet. The game servers on the compute use this endpoint to // connect to the Amazon GameLift service. GameLiftServiceSdkEndpoint *string `min:"1" type:"string"` + // The InstanceID of the Instance hosting the compute for Container and Managed + // EC2 fleets. + InstanceId *string `type:"string"` + // The IP address of a compute resource. Amazon GameLift requires a DNS name // or IP address for a compute. // @@ -13983,6 +14706,12 @@ func (s *Compute) SetComputeStatus(v string) *Compute { return s } +// SetContainerAttributes sets the ContainerAttributes field's value. +func (s *Compute) SetContainerAttributes(v *ContainerAttributes) *Compute { + s.ContainerAttributes = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *Compute) SetCreationTime(v time.Time) *Compute { s.CreationTime = &v @@ -14007,12 +14736,24 @@ func (s *Compute) SetFleetId(v string) *Compute { return s } +// SetGameLiftAgentEndpoint sets the GameLiftAgentEndpoint field's value. +func (s *Compute) SetGameLiftAgentEndpoint(v string) *Compute { + s.GameLiftAgentEndpoint = &v + return s +} + // SetGameLiftServiceSdkEndpoint sets the GameLiftServiceSdkEndpoint field's value. func (s *Compute) SetGameLiftServiceSdkEndpoint(v string) *Compute { s.GameLiftServiceSdkEndpoint = &v return s } +// SetInstanceId sets the InstanceId field's value. +func (s *Compute) SetInstanceId(v string) *Compute { + s.InstanceId = &v + return s +} + // SetIpAddress sets the IpAddress field's value. func (s *Compute) SetIpAddress(v string) *Compute { s.IpAddress = &v @@ -14103,6 +14844,1658 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// +// The set of port numbers to open on each instance in a container fleet. Connection +// ports are used by inbound traffic to connect with processes that are running +// in containers on the fleet. +// +// Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes +type ConnectionPortRange struct { + _ struct{} `type:"structure"` + + // Starting value for the port range. + // + // FromPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ConnectionPortRange's + // String and GoString methods. + // + // FromPort is a required field + FromPort *int64 `min:"1" type:"integer" required:"true" sensitive:"true"` + + // Ending value for the port. Port numbers are end-inclusive. This value must + // be equal to or greater than FromPort. + // + // ToPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ConnectionPortRange's + // String and GoString methods. + // + // ToPort is a required field + ToPort *int64 `min:"1" type:"integer" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionPortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionPortRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConnectionPortRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConnectionPortRange"} + if s.FromPort == nil { + invalidParams.Add(request.NewErrParamRequired("FromPort")) + } + if s.FromPort != nil && *s.FromPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", 1)) + } + if s.ToPort == nil { + invalidParams.Add(request.NewErrParamRequired("ToPort")) + } + if s.ToPort != nil && *s.ToPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromPort sets the FromPort field's value. +func (s *ConnectionPortRange) SetFromPort(v int64) *ConnectionPortRange { + s.FromPort = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *ConnectionPortRange) SetToPort(v int64) *ConnectionPortRange { + s.ToPort = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Describes attributes of containers that are deployed to a fleet with compute +// type CONTAINER. +type ContainerAttributes struct { + _ struct{} `type:"structure"` + + // Describes how container ports map to connection ports on the fleet instance. + // Incoming traffic connects to a game via a connection port. A ContainerPortMapping + // directs the traffic from a connection port to a port on the container that + // hosts the game session. + ContainerPortMappings []*ContainerPortMapping `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerAttributes) GoString() string { + return s.String() +} + +// SetContainerPortMappings sets the ContainerPortMappings field's value. +func (s *ContainerAttributes) SetContainerPortMappings(v []*ContainerPortMapping) *ContainerAttributes { + s.ContainerPortMappings = v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Describes a container in a container fleet, the resources available to the +// container, and the commands that are run when the container starts. Container +// properties can't be updated. To change a property, create a new container +// group definition. See also ContainerDefinitionInput. +// +// Part of: ContainerGroupDefinition +// +// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions +type ContainerDefinition struct { + _ struct{} `type:"structure"` + + // A command that's passed to the container on startup. Each argument for the + // command is an additional string in the array. See the ContainerDefinition::command + // (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command) + // parameter in the Amazon Elastic Container Service API reference. + Command []*string `min:"1" type:"list"` + + // The container definition identifier. Container names are unique within a + // container group definition. + // + // ContainerName is a required field + ContainerName *string `min:"1" type:"string" required:"true"` + + // The number of CPU units that are reserved for the container. Note: 1 vCPU + // unit equals 1024 CPU units. If no resources are reserved, the container shares + // the total CPU limit for the container group. + // + // Related data type: ContainerGroupDefinition$TotalCpuLimit + Cpu *int64 `min:"1" type:"integer"` + + // Indicates that the container relies on the status of other containers in + // the same container group during its startup and shutdown sequences. A container + // might have dependencies on multiple containers. + DependsOn []*ContainerDependency `min:"1" type:"list"` + + // The entry point that's passed to the container on startup. If there are multiple + // arguments, each argument is an additional string in the array. See the ContainerDefinition::entryPoint + // (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint) + // parameter in the Amazon Elastic Container Service API Reference. + EntryPoint []*string `min:"1" type:"list"` + + // A set of environment variables that's passed to the container on startup. + // See the ContainerDefinition::environment (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment) + // parameter in the Amazon Elastic Container Service API Reference. + Environment []*ContainerEnvironment `min:"1" type:"list"` + + // Indicates whether the container is vital to the container group. If an essential + // container fails, the entire container group is restarted. + Essential *bool `type:"boolean"` + + // A configuration for a non-terminal health check. A container, which automatically + // restarts if it stops functioning, also restarts if it fails this health check. + // If an essential container in the daemon group fails a health check, the entire + // container group is restarted. The essential container in the replica group + // doesn't use this health check mechanism, because the Amazon GameLift Agent + // automatically handles the task. + HealthCheck *ContainerHealthCheck `type:"structure"` + + // The URI to the image that $short; copied and deployed to a container fleet. + // For a more specific identifier, see ResolvedImageDigest. + // + // ImageUri is a required field + ImageUri *string `min:"1" type:"string" required:"true"` + + // The amount of memory that Amazon GameLift makes available to the container. + // If memory limits aren't set for an individual container, the container shares + // the container group's total memory allocation. + // + // Related data type: ContainerGroupDefinition$TotalMemoryLimit + MemoryLimits *ContainerMemoryLimits `type:"structure"` + + // Defines the ports that are available to assign to processes in the container. + // For example, a game server process requires a container port to allow game + // clients to connect to it. Container ports aren't directly accessed by inbound + // traffic. Amazon GameLift maps these container ports to externally accessible + // connection ports, which are assigned as needed from the container fleet's + // ConnectionPortRange. + PortConfiguration *ContainerPortConfiguration `type:"structure"` + + // A unique and immutable identifier for the container image that is deployed + // to a container fleet. The digest is a SHA 256 hash of the container image + // manifest. + ResolvedImageDigest *string `type:"string"` + + // The directory in the container where commands are run. See the ContainerDefinition::workingDirectory + // (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory) + // parameter in the Amazon Elastic Container Service API Reference. + WorkingDirectory *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDefinition) GoString() string { + return s.String() +} + +// SetCommand sets the Command field's value. +func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { + s.Command = v + return s +} + +// SetContainerName sets the ContainerName field's value. +func (s *ContainerDefinition) SetContainerName(v string) *ContainerDefinition { + s.ContainerName = &v + return s +} + +// SetCpu sets the Cpu field's value. +func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { + s.Cpu = &v + return s +} + +// SetDependsOn sets the DependsOn field's value. +func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { + s.DependsOn = v + return s +} + +// SetEntryPoint sets the EntryPoint field's value. +func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { + s.EntryPoint = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *ContainerDefinition) SetEnvironment(v []*ContainerEnvironment) *ContainerDefinition { + s.Environment = v + return s +} + +// SetEssential sets the Essential field's value. +func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { + s.Essential = &v + return s +} + +// SetHealthCheck sets the HealthCheck field's value. +func (s *ContainerDefinition) SetHealthCheck(v *ContainerHealthCheck) *ContainerDefinition { + s.HealthCheck = v + return s +} + +// SetImageUri sets the ImageUri field's value. +func (s *ContainerDefinition) SetImageUri(v string) *ContainerDefinition { + s.ImageUri = &v + return s +} + +// SetMemoryLimits sets the MemoryLimits field's value. +func (s *ContainerDefinition) SetMemoryLimits(v *ContainerMemoryLimits) *ContainerDefinition { + s.MemoryLimits = v + return s +} + +// SetPortConfiguration sets the PortConfiguration field's value. +func (s *ContainerDefinition) SetPortConfiguration(v *ContainerPortConfiguration) *ContainerDefinition { + s.PortConfiguration = v + return s +} + +// SetResolvedImageDigest sets the ResolvedImageDigest field's value. +func (s *ContainerDefinition) SetResolvedImageDigest(v string) *ContainerDefinition { + s.ResolvedImageDigest = &v + return s +} + +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { + s.WorkingDirectory = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Describes a container's configuration, resources, and start instructions. +// Use this data type to create a container group definition. For the properties +// of a container that's been deployed to a fleet, see ContainerDefinition. +// You can't change these properties after you've created the container group +// definition. If you need a container group with different properties, then +// you must create a new one. +// +// Used with: CreateContainerGroupDefinition +type ContainerDefinitionInput_ struct { + _ struct{} `type:"structure"` + + // A command to pass to the container on startup. Add multiple arguments as + // additional strings in the array. See the ContainerDefinition command (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command) + // parameter in the Amazon Elastic Container Service API reference. + Command []*string `min:"1" type:"list"` + + // A string that uniquely identifies the container definition within a container + // group. + // + // ContainerName is a required field + ContainerName *string `min:"1" type:"string" required:"true"` + + // The number of CPU units to reserve for this container. The container can + // use more resources when needed, if available. Note: 1 vCPU unit equals 1024 + // CPU units. If you don't reserve CPU units for this container, then it shares + // the total CPU limit for the container group. This property is similar to + // the Amazon ECS container definition parameter environment (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment) + // (Amazon Elastic Container Service Developer Guide). + // + // Related data type: ContainerGroupDefinition$TotalCpuLimit + Cpu *int64 `min:"1" type:"integer"` + + // Sets up dependencies between this container and the status of other containers + // in the same container group. A container can have dependencies on multiple + // different containers. + // + // You can use dependencies to establish a startup/shutdown sequence across + // the container group. A container startup dependency is reversed on shutdown. + // + // For example, you might specify that SideCarContainerB has a START dependency + // on SideCarContainerA. This dependency means that SideCarContainerB can't + // start until after SideCarContainerA has started. This dependency is reversed + // on shutdown, which means that SideCarContainerB must shut down before SideCarContainerA + // can shut down. + DependsOn []*ContainerDependency `min:"1" type:"list"` + + // An entry point to pass to the container on startup. Add multiple arguments + // as additional strings in the array. See the ContainerDefinition::entryPoint + // (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint) + // parameter in the Amazon Elastic Container Service API Reference. + EntryPoint []*string `min:"1" type:"list"` + + // A set of environment variables to pass to the container on startup. See the + // ContainerDefinition::environment (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment) + // parameter in the Amazon Elastic Container Service API Reference. + Environment []*ContainerEnvironment `min:"1" type:"list"` + + // Specifies whether the container is vital for the container group to function + // properly. If an essential container fails, it causes the entire container + // group to restart. Each container group must have an essential container. + // + // Replica container groups - A replica group must have exactly one essential + // container. Use the following to configure an essential replica container: + // + // * Choose a container is running your game server and the Amazon GameLift + // Agent. + // + // * Include a port configuration. This container runs your game server processes, + // and each process requires a container port to allow access to game clients. + // + // * Don't configure a health check. The Agent handles this task for the + // essential replica container. + // + // Daemon container groups - A daemon group must have at least one essential + // container. + Essential *bool `type:"boolean"` + + // Configuration for a non-terminal health check. A container automatically + // restarts if it stops functioning. This parameter lets you define additional + // reasons to consider a container unhealthy and restart it. You can set a health + // check for any container except for the essential container in the replica + // container group. If an essential container in the daemon group fails a health + // check, the entire container group is restarted. + HealthCheck *ContainerHealthCheck `type:"structure"` + + // The location of a container image that $short; will copy and deploy to a + // container fleet. Images in Amazon Elastic Container Registry private repositories + // are supported. The repository must be in the same Amazon Web Services account + // and Amazon Web Services Region where you're creating the container group + // definition. For limits on image size, see Amazon GameLift endpoints and quotas + // (https://docs.aws.amazon.com/general/latest/gr/gamelift.html). You can use + // any of the following image URI formats: + // + // * Image ID only: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository + // ID] + // + // * Image ID and digest: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository + // ID]@[digest] + // + // * Image ID and tag: [AWS account].dkr.ecr.[AWS region].amazonaws.com/[repository + // ID]:[tag] + // + // ImageUri is a required field + ImageUri *string `min:"1" type:"string" required:"true"` + + // The amount of memory to make available to the container. If you don't specify + // memory limits for this container, then it shares the container group's total + // memory allocation. + // + // Related data type: ContainerGroupDefinition$TotalMemoryLimit + MemoryLimits *ContainerMemoryLimits `type:"structure"` + + // A set of ports that Amazon GameLift can assign to processes in the container. + // All processes that accept inbound traffic connections, including game server + // processes, must be assigned a port from this set. The set of ports must be + // large enough to assign one to each process in the container that needs one. + // If the container includes your game server, include enough ports to assign + // one port to each concurrent server process (as defined in a container fleet's + // RuntimeConfiguration). For more details, see Networking for container fleets + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-network). + // + // Container ports aren't directly accessed by inbound traffic. Amazon GameLift + // maps these container ports to externally accessible connection ports, which + // are assigned as needed from the container fleet's ConnectionPortRange. + PortConfiguration *ContainerPortConfiguration `type:"structure"` + + // The directory in the container where commands are run. See the ContainerDefinition::workingDirectory + // parameter (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory) + // in the Amazon Elastic Container Service API Reference. + WorkingDirectory *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDefinitionInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDefinitionInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerDefinitionInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerDefinitionInput_"} + if s.Command != nil && len(s.Command) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Command", 1)) + } + if s.ContainerName == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerName")) + } + if s.ContainerName != nil && len(*s.ContainerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerName", 1)) + } + if s.Cpu != nil && *s.Cpu < 1 { + invalidParams.Add(request.NewErrParamMinValue("Cpu", 1)) + } + if s.DependsOn != nil && len(s.DependsOn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DependsOn", 1)) + } + if s.EntryPoint != nil && len(s.EntryPoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryPoint", 1)) + } + if s.Environment != nil && len(s.Environment) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Environment", 1)) + } + if s.ImageUri == nil { + invalidParams.Add(request.NewErrParamRequired("ImageUri")) + } + if s.ImageUri != nil && len(*s.ImageUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageUri", 1)) + } + if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) + } + if s.DependsOn != nil { + for i, v := range s.DependsOn { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Environment != nil { + for i, v := range s.Environment { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams)) + } + } + } + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) + } + } + if s.MemoryLimits != nil { + if err := s.MemoryLimits.Validate(); err != nil { + invalidParams.AddNested("MemoryLimits", err.(request.ErrInvalidParams)) + } + } + if s.PortConfiguration != nil { + if err := s.PortConfiguration.Validate(); err != nil { + invalidParams.AddNested("PortConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommand sets the Command field's value. +func (s *ContainerDefinitionInput_) SetCommand(v []*string) *ContainerDefinitionInput_ { + s.Command = v + return s +} + +// SetContainerName sets the ContainerName field's value. +func (s *ContainerDefinitionInput_) SetContainerName(v string) *ContainerDefinitionInput_ { + s.ContainerName = &v + return s +} + +// SetCpu sets the Cpu field's value. +func (s *ContainerDefinitionInput_) SetCpu(v int64) *ContainerDefinitionInput_ { + s.Cpu = &v + return s +} + +// SetDependsOn sets the DependsOn field's value. +func (s *ContainerDefinitionInput_) SetDependsOn(v []*ContainerDependency) *ContainerDefinitionInput_ { + s.DependsOn = v + return s +} + +// SetEntryPoint sets the EntryPoint field's value. +func (s *ContainerDefinitionInput_) SetEntryPoint(v []*string) *ContainerDefinitionInput_ { + s.EntryPoint = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *ContainerDefinitionInput_) SetEnvironment(v []*ContainerEnvironment) *ContainerDefinitionInput_ { + s.Environment = v + return s +} + +// SetEssential sets the Essential field's value. +func (s *ContainerDefinitionInput_) SetEssential(v bool) *ContainerDefinitionInput_ { + s.Essential = &v + return s +} + +// SetHealthCheck sets the HealthCheck field's value. +func (s *ContainerDefinitionInput_) SetHealthCheck(v *ContainerHealthCheck) *ContainerDefinitionInput_ { + s.HealthCheck = v + return s +} + +// SetImageUri sets the ImageUri field's value. +func (s *ContainerDefinitionInput_) SetImageUri(v string) *ContainerDefinitionInput_ { + s.ImageUri = &v + return s +} + +// SetMemoryLimits sets the MemoryLimits field's value. +func (s *ContainerDefinitionInput_) SetMemoryLimits(v *ContainerMemoryLimits) *ContainerDefinitionInput_ { + s.MemoryLimits = v + return s +} + +// SetPortConfiguration sets the PortConfiguration field's value. +func (s *ContainerDefinitionInput_) SetPortConfiguration(v *ContainerPortConfiguration) *ContainerDefinitionInput_ { + s.PortConfiguration = v + return s +} + +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ContainerDefinitionInput_) SetWorkingDirectory(v string) *ContainerDefinitionInput_ { + s.WorkingDirectory = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// A container's dependency on another container in the same container group. +// The dependency impacts how the dependent container is able to start or shut +// down based the status of the other container. +// +// For example, ContainerA is configured with the following dependency: a START +// dependency on ContainerB. This means that ContainerA can't start until ContainerB +// has started. It also means that ContainerA must shut down before ContainerB. +// +// Part of: ContainerDefinition +type ContainerDependency struct { + _ struct{} `type:"structure"` + + // The condition that the dependency container must reach before the dependent + // container can start. Valid conditions include: + // + // * START - The dependency container must have started. + // + // * COMPLETE - The dependency container has run to completion (exits). Use + // this condition with nonessential containers, such as those that run a + // script and then exit. The dependency container can't be an essential container. + // + // * SUCCESS - The dependency container has run to completion and exited + // with a zero status. The dependency container can't be an essential container. + // + // * HEALTHY - The dependency container has passed its Docker health check. + // Use this condition with dependency containers that have health checks + // configured. This condition is confirmed at container group startup only. + // + // Condition is a required field + Condition *string `type:"string" required:"true" enum:"ContainerDependencyCondition"` + + // A descriptive label for the container definition that this container depends + // on. + // + // ContainerName is a required field + ContainerName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDependency) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerDependency) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerDependency) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} + if s.Condition == nil { + invalidParams.Add(request.NewErrParamRequired("Condition")) + } + if s.ContainerName == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerName")) + } + if s.ContainerName != nil && len(*s.ContainerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCondition sets the Condition field's value. +func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { + s.Condition = &v + return s +} + +// SetContainerName sets the ContainerName field's value. +func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { + s.ContainerName = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// An environment variable to set inside a container, in the form of a key-value +// pair. +// +// Related data type: ContainerDefinition$Environment +type ContainerEnvironment struct { + _ struct{} `type:"structure"` + + // The environment variable name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The environment variable value. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerEnvironment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerEnvironment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerEnvironment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerEnvironment"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ContainerEnvironment) SetName(v string) *ContainerEnvironment { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ContainerEnvironment) SetValue(v string) *ContainerEnvironment { + s.Value = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// The properties that describe a container group resource. Container group +// definition properties can't be updated. To change a property, create a new +// container group definition. +// +// Used with: CreateContainerGroupDefinition +// +// Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions +type ContainerGroupDefinition struct { + _ struct{} `type:"structure"` + + // The set of container definitions that are included in the container group. + ContainerDefinitions []*ContainerDefinition `min:"1" type:"list"` + + // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to an Amazon GameLift ContainerGroupDefinition resource. + // It uniquely identifies the resource across all Amazon Web Services Regions. + // Format is arn:aws:gamelift:::containergroupdefinition/[container + // group definition name]. + ContainerGroupDefinitionArn *string `min:"1" type:"string"` + + // A time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp"` + + // A descriptive identifier for the container group definition. The name value + // is unique in an Amazon Web Services Region. + Name *string `min:"1" type:"string"` + + // The platform required for all containers in the container group definition. + OperatingSystem *string `type:"string" enum:"ContainerOperatingSystem"` + + // The method for deploying the container group across fleet instances. A replica + // container group might have multiple copies on each fleet instance. A daemon + // container group maintains only one copy per fleet instance. + SchedulingStrategy *string `type:"string" enum:"ContainerSchedulingStrategy"` + + // Current status of the container group definition resource. Values include: + // + // * COPYING -- Amazon GameLift is in the process of making copies of all + // container images that are defined in the group. While in this state, the + // resource can't be used to create a container fleet. + // + // * READY -- Amazon GameLift has copied the registry images for all containers + // that are defined in the group. You can use a container group definition + // in this status to create a container fleet. + // + // * FAILED -- Amazon GameLift failed to create a valid container group definition + // resource. For more details on the cause of the failure, see StatusReason. + // A container group definition resource in failed status will be deleted + // within a few minutes. + Status *string `type:"string" enum:"ContainerGroupDefinitionStatus"` + + // Additional information about a container group definition that's in FAILED + // status. Possible reasons include: + // + // * An internal issue prevented Amazon GameLift from creating the container + // group definition resource. Delete the failed resource and call CreateContainerGroupDefinitionagain. + // + // * An access-denied message means that you don't have permissions to access + // the container image on ECR. See IAM permission examples (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-iam-policy-examples.html) + // for help setting up required IAM permissions for Amazon GameLift. + // + // * The ImageUri value for at least one of the containers in the container + // group definition was invalid or not found in the current Amazon Web Services + // account. + // + // * At least one of the container images referenced in the container group + // definition exceeds the allowed size. For size limits, see Amazon GameLift + // endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/gamelift.html). + // + // * At least one of the container images referenced in the container group + // definition uses a different operating system than the one defined for + // the container group. + StatusReason *string `min:"1" type:"string"` + + // The amount of CPU units on a fleet instance to allocate for the container + // group. All containers in the group share these resources. This property is + // an integer value in CPU units (1 vCPU is equal to 1024 CPU units). + // + // You can set additional limits for each ContainerDefinition in the group. + // If individual containers have limits, this value must be equal to or greater + // than the sum of all container-specific CPU limits in the group. + // + // For more details on memory allocation, see the Container fleet design guide + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet). + TotalCpuLimit *int64 `min:"128" type:"integer"` + + // The amount of memory (in MiB) on a fleet instance to allocate for the container + // group. All containers in the group share these resources. + // + // You can set additional limits for each ContainerDefinition in the group. + // If individual containers have limits, this value must meet the following + // requirements: + // + // * Equal to or greater than the sum of all container-specific soft memory + // limits in the group. + // + // * Equal to or greater than any container-specific hard limits in the group. + // + // For more details on memory allocation, see the Container fleet design guide + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet). + TotalMemoryLimit *int64 `min:"4" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupDefinition) GoString() string { + return s.String() +} + +// SetContainerDefinitions sets the ContainerDefinitions field's value. +func (s *ContainerGroupDefinition) SetContainerDefinitions(v []*ContainerDefinition) *ContainerGroupDefinition { + s.ContainerDefinitions = v + return s +} + +// SetContainerGroupDefinitionArn sets the ContainerGroupDefinitionArn field's value. +func (s *ContainerGroupDefinition) SetContainerGroupDefinitionArn(v string) *ContainerGroupDefinition { + s.ContainerGroupDefinitionArn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ContainerGroupDefinition) SetCreationTime(v time.Time) *ContainerGroupDefinition { + s.CreationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ContainerGroupDefinition) SetName(v string) *ContainerGroupDefinition { + s.Name = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *ContainerGroupDefinition) SetOperatingSystem(v string) *ContainerGroupDefinition { + s.OperatingSystem = &v + return s +} + +// SetSchedulingStrategy sets the SchedulingStrategy field's value. +func (s *ContainerGroupDefinition) SetSchedulingStrategy(v string) *ContainerGroupDefinition { + s.SchedulingStrategy = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ContainerGroupDefinition) SetStatus(v string) *ContainerGroupDefinition { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *ContainerGroupDefinition) SetStatusReason(v string) *ContainerGroupDefinition { + s.StatusReason = &v + return s +} + +// SetTotalCpuLimit sets the TotalCpuLimit field's value. +func (s *ContainerGroupDefinition) SetTotalCpuLimit(v int64) *ContainerGroupDefinition { + s.TotalCpuLimit = &v + return s +} + +// SetTotalMemoryLimit sets the TotalMemoryLimit field's value. +func (s *ContainerGroupDefinition) SetTotalMemoryLimit(v int64) *ContainerGroupDefinition { + s.TotalMemoryLimit = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// The properties of a container group that is deployed to a container fleet. +// +// Part of: ContainerGroupsAttributes +// +// Returned by: DescribeFleetAttributes +type ContainerGroupDefinitionProperty struct { + _ struct{} `type:"structure"` + + // The unique identifier for the container group definition. + ContainerGroupDefinitionName *string `min:"1" type:"string"` + + // The method for scheduling and maintaining copies of the container group across + // a container fleet. + SchedulingStrategy *string `type:"string" enum:"ContainerSchedulingStrategy"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupDefinitionProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupDefinitionProperty) GoString() string { + return s.String() +} + +// SetContainerGroupDefinitionName sets the ContainerGroupDefinitionName field's value. +func (s *ContainerGroupDefinitionProperty) SetContainerGroupDefinitionName(v string) *ContainerGroupDefinitionProperty { + s.ContainerGroupDefinitionName = &v + return s +} + +// SetSchedulingStrategy sets the SchedulingStrategy field's value. +func (s *ContainerGroupDefinitionProperty) SetSchedulingStrategy(v string) *ContainerGroupDefinitionProperty { + s.SchedulingStrategy = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// The properties of container groups that are running on a container fleet. +// Container group properties for a fleet can't be changed. +// +// Returned by: DescribeFleetAttributes, CreateFleet +type ContainerGroupsAttributes struct { + _ struct{} `type:"structure"` + + // A set of ports that allow inbound traffic to connect to processes running + // in the fleet's container groups. Amazon GameLift maps each connection port + // to a container port, which is assigned to a specific container process. A + // fleet's connection port range can't be changed, but you can control access + // to connection ports by updating a fleet's EC2InboundPermissions with UpdateFleetPortSettings. + ConnectionPortRange *ConnectionPortRange `type:"structure"` + + // A collection of properties that describe each container group in the fleet. + // A container fleet is deployed with one or more ContainerGroupDefinition resources, + // which is where these properties are set. + ContainerGroupDefinitionProperties []*ContainerGroupDefinitionProperty `type:"list"` + + // Details about the number of replica container groups that Amazon GameLift + // deploys to each instance in the container fleet. + ContainerGroupsPerInstance *ContainerGroupsPerInstance `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsAttributes) GoString() string { + return s.String() +} + +// SetConnectionPortRange sets the ConnectionPortRange field's value. +func (s *ContainerGroupsAttributes) SetConnectionPortRange(v *ConnectionPortRange) *ContainerGroupsAttributes { + s.ConnectionPortRange = v + return s +} + +// SetContainerGroupDefinitionProperties sets the ContainerGroupDefinitionProperties field's value. +func (s *ContainerGroupsAttributes) SetContainerGroupDefinitionProperties(v []*ContainerGroupDefinitionProperty) *ContainerGroupsAttributes { + s.ContainerGroupDefinitionProperties = v + return s +} + +// SetContainerGroupsPerInstance sets the ContainerGroupsPerInstance field's value. +func (s *ContainerGroupsAttributes) SetContainerGroupsPerInstance(v *ContainerGroupsPerInstance) *ContainerGroupsAttributes { + s.ContainerGroupsPerInstance = v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Configuration details for a set of container groups, for use when creating +// a fleet with compute type CONTAINER. +// +// Used with: CreateFleet +type ContainerGroupsConfiguration struct { + _ struct{} `type:"structure"` + + // A set of ports to allow inbound traffic, including game clients, to connect + // to processes running in the container fleet. + // + // Connection ports are dynamically mapped to container ports, which are assigned + // to individual processes running in a container. The connection port range + // must have enough ports to map to all container ports across a fleet instance. + // To calculate the minimum connection ports needed, use the following formula: + // + // [Total number of container ports as defined for containers in the replica + // container group] * [Desired or calculated number of replica container groups + // per instance] + [Total number of container ports as defined for containers + // in the daemon container group] + // + // As a best practice, double the minimum number of connection ports. + // + // Use the fleet's EC2InboundPermissions property to control external access + // to connection ports. Set this property to the connection port numbers that + // you want to open access to. See IpPermission for more details. + // + // ConnectionPortRange is a required field + ConnectionPortRange *ConnectionPortRange `type:"structure" required:"true"` + + // The list of container group definition names to deploy to a new container + // fleet. + // + // ContainerGroupDefinitionNames is a required field + ContainerGroupDefinitionNames []*string `min:"1" type:"list" required:"true"` + + // The number of times to replicate the replica container group on each instance + // in a container fleet. By default, Amazon GameLift calculates the maximum + // number of replica container groups that can fit on a fleet instance (based + // on CPU and memory resources). Leave this parameter empty if you want to use + // the maximum number, or specify a desired number to override the maximum. + // The desired number is used if it's less than the maximum number. + DesiredReplicaContainerGroupsPerInstance *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerGroupsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerGroupsConfiguration"} + if s.ConnectionPortRange == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionPortRange")) + } + if s.ContainerGroupDefinitionNames == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerGroupDefinitionNames")) + } + if s.ContainerGroupDefinitionNames != nil && len(s.ContainerGroupDefinitionNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerGroupDefinitionNames", 1)) + } + if s.DesiredReplicaContainerGroupsPerInstance != nil && *s.DesiredReplicaContainerGroupsPerInstance < 1 { + invalidParams.Add(request.NewErrParamMinValue("DesiredReplicaContainerGroupsPerInstance", 1)) + } + if s.ConnectionPortRange != nil { + if err := s.ConnectionPortRange.Validate(); err != nil { + invalidParams.AddNested("ConnectionPortRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionPortRange sets the ConnectionPortRange field's value. +func (s *ContainerGroupsConfiguration) SetConnectionPortRange(v *ConnectionPortRange) *ContainerGroupsConfiguration { + s.ConnectionPortRange = v + return s +} + +// SetContainerGroupDefinitionNames sets the ContainerGroupDefinitionNames field's value. +func (s *ContainerGroupsConfiguration) SetContainerGroupDefinitionNames(v []*string) *ContainerGroupsConfiguration { + s.ContainerGroupDefinitionNames = v + return s +} + +// SetDesiredReplicaContainerGroupsPerInstance sets the DesiredReplicaContainerGroupsPerInstance field's value. +func (s *ContainerGroupsConfiguration) SetDesiredReplicaContainerGroupsPerInstance(v int64) *ContainerGroupsConfiguration { + s.DesiredReplicaContainerGroupsPerInstance = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Determines how many replica container groups that Amazon GameLift deploys +// to each instance in a container fleet. +// +// Amazon GameLift calculates the maximum possible replica groups per instance +// based on the instance 's CPU and memory resources. When deploying a fleet, +// Amazon GameLift places replica container groups on each fleet instance based +// on the following: +// +// - If no desired value is set, Amazon GameLift places the calculated maximum. +// +// - If a desired number is set to a value higher than the calculated maximum, +// Amazon GameLift places the calculated maximum. +// +// - If a desired number is set to a value lower than the calculated maximum, +// Amazon GameLift places the desired number. +// +// Part of: ContainerGroupsConfiguration, ContainerGroupsAttributes +// +// Returned by: DescribeFleetAttributes, CreateFleet +type ContainerGroupsPerInstance struct { + _ struct{} `type:"structure"` + + // The desired number of replica container groups to place on each fleet instance. + DesiredReplicaContainerGroupsPerInstance *int64 `min:"1" type:"integer"` + + // The maximum possible number of replica container groups that each fleet instance + // can have. + MaxReplicaContainerGroupsPerInstance *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsPerInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerGroupsPerInstance) GoString() string { + return s.String() +} + +// SetDesiredReplicaContainerGroupsPerInstance sets the DesiredReplicaContainerGroupsPerInstance field's value. +func (s *ContainerGroupsPerInstance) SetDesiredReplicaContainerGroupsPerInstance(v int64) *ContainerGroupsPerInstance { + s.DesiredReplicaContainerGroupsPerInstance = &v + return s +} + +// SetMaxReplicaContainerGroupsPerInstance sets the MaxReplicaContainerGroupsPerInstance field's value. +func (s *ContainerGroupsPerInstance) SetMaxReplicaContainerGroupsPerInstance(v int64) *ContainerGroupsPerInstance { + s.MaxReplicaContainerGroupsPerInstance = &v + return s +} + +// Instructions on when and how to check the health of a container in a container +// fleet. When health check properties are set in a container definition, they +// override any Docker health checks in the container image. For more information +// on container health checks, see HealthCheck command (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html#ECS-Type-HealthCheck-command) +// in the Amazon Elastic Container Service API. +// +// The following example instructions tell the container to wait 100 seconds +// after launch before counting failed health checks, then initiate the health +// check command every 60 seconds. After issuing the health check command, wait +// 10 seconds for it to succeed. If it fails, retry the command 3 times before +// considering the container to be unhealthy. +// +// {"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1" ], +// "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100 } +// +// Part of: ContainerDefinition$HealthCheck +type ContainerHealthCheck struct { + _ struct{} `type:"structure"` + + // A string array that specifies the command that the container runs to determine + // if it's healthy. + // + // Command is a required field + Command []*string `min:"1" type:"list" required:"true"` + + // The time period (in seconds) between each health check. + Interval *int64 `min:"60" type:"integer"` + + // The number of times to retry a failed health check before the container is + // considered unhealthy. The first run of the command does not count as a retry. + Retries *int64 `min:"5" type:"integer"` + + // The optional grace period (in seconds) to give a container time to bootstrap + // before the first failed health check counts toward the number of retries. + StartPeriod *int64 `type:"integer"` + + // The time period (in seconds) to wait for a health check to succeed before + // a failed health check is counted. + Timeout *int64 `min:"30" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerHealthCheck) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerHealthCheck) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerHealthCheck) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerHealthCheck"} + if s.Command == nil { + invalidParams.Add(request.NewErrParamRequired("Command")) + } + if s.Command != nil && len(s.Command) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Command", 1)) + } + if s.Interval != nil && *s.Interval < 60 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 60)) + } + if s.Retries != nil && *s.Retries < 5 { + invalidParams.Add(request.NewErrParamMinValue("Retries", 5)) + } + if s.Timeout != nil && *s.Timeout < 30 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 30)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommand sets the Command field's value. +func (s *ContainerHealthCheck) SetCommand(v []*string) *ContainerHealthCheck { + s.Command = v + return s +} + +// SetInterval sets the Interval field's value. +func (s *ContainerHealthCheck) SetInterval(v int64) *ContainerHealthCheck { + s.Interval = &v + return s +} + +// SetRetries sets the Retries field's value. +func (s *ContainerHealthCheck) SetRetries(v int64) *ContainerHealthCheck { + s.Retries = &v + return s +} + +// SetStartPeriod sets the StartPeriod field's value. +func (s *ContainerHealthCheck) SetStartPeriod(v int64) *ContainerHealthCheck { + s.StartPeriod = &v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *ContainerHealthCheck) SetTimeout(v int64) *ContainerHealthCheck { + s.Timeout = &v + return s +} + +// Specifies how much memory is available to a container. You can't change this +// value after you create this object. +// +// Part of: ContainerDefinition$MemoryLimits +type ContainerMemoryLimits struct { + _ struct{} `type:"structure"` + + // The maximum amount of memory that the container can use. If a container attempts + // to exceed this limit, the container is stopped. This property is similar + // to the Amazon ECS container definition parameter memory (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_memory) + // in the Amazon Elastic Container Service Developer Guide. + HardLimit *int64 `min:"4" type:"integer"` + + // The amount of memory that is reserved for a container. When the container + // group's shared memory is under contention, the system attempts to maintain + // the container memory usage at this soft limit. However, the container can + // use more memory when needed, if available. This property is similar to the + // Amazon ECS container definition parameter memoryreservation (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-memoryReservation) + // (Amazon Elastic Container Service Developer Guide). + SoftLimit *int64 `min:"4" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerMemoryLimits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerMemoryLimits) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerMemoryLimits) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerMemoryLimits"} + if s.HardLimit != nil && *s.HardLimit < 4 { + invalidParams.Add(request.NewErrParamMinValue("HardLimit", 4)) + } + if s.SoftLimit != nil && *s.SoftLimit < 4 { + invalidParams.Add(request.NewErrParamMinValue("SoftLimit", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHardLimit sets the HardLimit field's value. +func (s *ContainerMemoryLimits) SetHardLimit(v int64) *ContainerMemoryLimits { + s.HardLimit = &v + return s +} + +// SetSoftLimit sets the SoftLimit field's value. +func (s *ContainerMemoryLimits) SetSoftLimit(v int64) *ContainerMemoryLimits { + s.SoftLimit = &v + return s +} + +// Defines ranges of ports that server processes can connect to. +// +// Part of: ContainerDefinition$PortConfiguration +type ContainerPortConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies one or more ranges of ports on a container. These ranges must not + // overlap. + // + // ContainerPortRanges is a required field + ContainerPortRanges []*ContainerPortRange `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerPortConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerPortConfiguration"} + if s.ContainerPortRanges == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerPortRanges")) + } + if s.ContainerPortRanges != nil && len(s.ContainerPortRanges) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerPortRanges", 1)) + } + if s.ContainerPortRanges != nil { + for i, v := range s.ContainerPortRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerPortRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerPortRanges sets the ContainerPortRanges field's value. +func (s *ContainerPortConfiguration) SetContainerPortRanges(v []*ContainerPortRange) *ContainerPortConfiguration { + s.ContainerPortRanges = v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// Defines how an internal-facing container port is mapped to an external-facing +// connection port on a fleet instance of compute type CONTAINER. Incoming traffic, +// such as a game client, uses a connection port to connect to a process in +// the container fleet. Amazon GameLift directs the inbound traffic to the container +// port that is assigned to the process, such as a game session, running on +// a container. +// +// Part of: ContainerAttributes +type ContainerPortMapping struct { + _ struct{} `type:"structure"` + + // The port opened on the fleet instance. This is also called the "host port". + // + // ConnectionPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ContainerPortMapping's + // String and GoString methods. + ConnectionPort *int64 `min:"1" type:"integer" sensitive:"true"` + + // The port opened on the container. + // + // ContainerPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ContainerPortMapping's + // String and GoString methods. + ContainerPort *int64 `min:"1" type:"integer" sensitive:"true"` + + // The network protocol that this mapping supports. + Protocol *string `type:"string" enum:"IpProtocol"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortMapping) GoString() string { + return s.String() +} + +// SetConnectionPort sets the ConnectionPort field's value. +func (s *ContainerPortMapping) SetConnectionPort(v int64) *ContainerPortMapping { + s.ConnectionPort = &v + return s +} + +// SetContainerPort sets the ContainerPort field's value. +func (s *ContainerPortMapping) SetContainerPort(v int64) *ContainerPortMapping { + s.ContainerPort = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *ContainerPortMapping) SetProtocol(v string) *ContainerPortMapping { + s.Protocol = &v + return s +} + +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// A set of one or more port numbers that can be opened on the container. +// +// Part of: ContainerPortConfiguration +type ContainerPortRange struct { + _ struct{} `type:"structure"` + + // A starting value for the range of allowed port numbers. + // + // FromPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ContainerPortRange's + // String and GoString methods. + // + // FromPort is a required field + FromPort *int64 `min:"1" type:"integer" required:"true" sensitive:"true"` + + // The network protocol that these ports support. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"IpProtocol"` + + // An ending value for the range of allowed port numbers. Port numbers are end-inclusive. + // This value must be equal to or greater than FromPort. + // + // ToPort is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ContainerPortRange's + // String and GoString methods. + // + // ToPort is a required field + ToPort *int64 `min:"1" type:"integer" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerPortRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerPortRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerPortRange"} + if s.FromPort == nil { + invalidParams.Add(request.NewErrParamRequired("FromPort")) + } + if s.FromPort != nil && *s.FromPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.ToPort == nil { + invalidParams.Add(request.NewErrParamRequired("ToPort")) + } + if s.ToPort != nil && *s.ToPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromPort sets the FromPort field's value. +func (s *ContainerPortRange) SetFromPort(v int64) *ContainerPortRange { + s.FromPort = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *ContainerPortRange) SetProtocol(v string) *ContainerPortRange { + s.Protocol = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *ContainerPortRange) SetToPort(v int64) *ContainerPortRange { + s.ToPort = &v + return s +} + type CreateAliasInput struct { _ struct{} `type:"structure"` @@ -14429,16 +16822,221 @@ func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuild return s } +type CreateContainerGroupDefinitionInput struct { + _ struct{} `type:"structure"` + + // Definitions for all containers in this group. Each container definition identifies + // the container image and specifies configuration settings for the container. + // See the Container fleet design guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html) + // for container guidelines. + // + // ContainerDefinitions is a required field + ContainerDefinitions []*ContainerDefinitionInput_ `min:"1" type:"list" required:"true"` + + // A descriptive identifier for the container group definition. The name value + // must be unique in an Amazon Web Services Region. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The platform that is used by containers in the container group definition. + // All containers in a group must run on the same operating system. + // + // OperatingSystem is a required field + OperatingSystem *string `type:"string" required:"true" enum:"ContainerOperatingSystem"` + + // The method for deploying the container group across fleet instances. A replica + // container group might have multiple copies on each fleet instance. A daemon + // container group has one copy per fleet instance. Default value is REPLICA. + SchedulingStrategy *string `type:"string" enum:"ContainerSchedulingStrategy"` + + // A list of labels to assign to the container group definition resource. Tags + // are developer-defined key-value pairs. Tagging Amazon Web Services resources + // are useful for resource management, access management and cost allocation. + // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // in the Amazon Web Services General Reference. + Tags []*Tag `type:"list"` + + // The maximum amount of CPU units to allocate to the container group. Set this + // parameter to an integer value in CPU units (1 vCPU is equal to 1024 CPU units). + // All containers in the group share this memory. If you specify CPU limits + // for individual containers, set this parameter based on the following guidelines. + // The value must be equal to or greater than the sum of the CPU limits for + // all containers in the group. + // + // TotalCpuLimit is a required field + TotalCpuLimit *int64 `min:"128" type:"integer" required:"true"` + + // The maximum amount of memory (in MiB) to allocate to the container group. + // All containers in the group share this memory. If you specify memory limits + // for individual containers, set this parameter based on the following guidelines. + // The value must be (1) greater than the sum of the soft memory limits for + // all containers in the group, and (2) greater than any individual container's + // hard memory limit. + // + // TotalMemoryLimit is a required field + TotalMemoryLimit *int64 `min:"4" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContainerGroupDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContainerGroupDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContainerGroupDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContainerGroupDefinitionInput"} + if s.ContainerDefinitions == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) + } + if s.ContainerDefinitions != nil && len(s.ContainerDefinitions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerDefinitions", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OperatingSystem == nil { + invalidParams.Add(request.NewErrParamRequired("OperatingSystem")) + } + if s.TotalCpuLimit == nil { + invalidParams.Add(request.NewErrParamRequired("TotalCpuLimit")) + } + if s.TotalCpuLimit != nil && *s.TotalCpuLimit < 128 { + invalidParams.Add(request.NewErrParamMinValue("TotalCpuLimit", 128)) + } + if s.TotalMemoryLimit == nil { + invalidParams.Add(request.NewErrParamRequired("TotalMemoryLimit")) + } + if s.TotalMemoryLimit != nil && *s.TotalMemoryLimit < 4 { + invalidParams.Add(request.NewErrParamMinValue("TotalMemoryLimit", 4)) + } + if s.ContainerDefinitions != nil { + for i, v := range s.ContainerDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerDefinitions sets the ContainerDefinitions field's value. +func (s *CreateContainerGroupDefinitionInput) SetContainerDefinitions(v []*ContainerDefinitionInput_) *CreateContainerGroupDefinitionInput { + s.ContainerDefinitions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateContainerGroupDefinitionInput) SetName(v string) *CreateContainerGroupDefinitionInput { + s.Name = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *CreateContainerGroupDefinitionInput) SetOperatingSystem(v string) *CreateContainerGroupDefinitionInput { + s.OperatingSystem = &v + return s +} + +// SetSchedulingStrategy sets the SchedulingStrategy field's value. +func (s *CreateContainerGroupDefinitionInput) SetSchedulingStrategy(v string) *CreateContainerGroupDefinitionInput { + s.SchedulingStrategy = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateContainerGroupDefinitionInput) SetTags(v []*Tag) *CreateContainerGroupDefinitionInput { + s.Tags = v + return s +} + +// SetTotalCpuLimit sets the TotalCpuLimit field's value. +func (s *CreateContainerGroupDefinitionInput) SetTotalCpuLimit(v int64) *CreateContainerGroupDefinitionInput { + s.TotalCpuLimit = &v + return s +} + +// SetTotalMemoryLimit sets the TotalMemoryLimit field's value. +func (s *CreateContainerGroupDefinitionInput) SetTotalMemoryLimit(v int64) *CreateContainerGroupDefinitionInput { + s.TotalMemoryLimit = &v + return s +} + +type CreateContainerGroupDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The properties of the newly created container group definition resource. + // You use this resource to create a container fleet. + ContainerGroupDefinition *ContainerGroupDefinition `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContainerGroupDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContainerGroupDefinitionOutput) GoString() string { + return s.String() +} + +// SetContainerGroupDefinition sets the ContainerGroupDefinition field's value. +func (s *CreateContainerGroupDefinitionOutput) SetContainerGroupDefinition(v *ContainerGroupDefinition) *CreateContainerGroupDefinitionOutput { + s.ContainerGroupDefinition = v + return s +} + type CreateFleetInput struct { _ struct{} `type:"structure"` // Amazon GameLift Anywhere configuration options. AnywhereConfiguration *AnywhereConfiguration `type:"structure"` - // The unique identifier for a custom game server build to be deployed on fleet - // instances. You can use either the build ID or ARN. The build must be uploaded - // to Amazon GameLift and in READY status. This fleet property can't be changed - // after the fleet is created. + // The unique identifier for a custom game server build to be deployed to a + // fleet with compute type EC2. You can use either the build ID or ARN. The + // build must be uploaded to Amazon GameLift and in READY status. This fleet + // property can't be changed after the fleet is created. BuildId *string `type:"string"` // Prompts Amazon GameLift to generate a TLS/SSL certificate for the fleet. @@ -14458,25 +17056,49 @@ type CreateFleetInput struct { // in the Certificate Manager User Guide. CertificateConfiguration *CertificateConfiguration `type:"structure"` - // The type of compute resource used to host your game servers. You can use - // your own compute resources with Amazon GameLift Anywhere or use Amazon EC2 - // instances with managed Amazon GameLift. By default, this property is set - // to EC2. + // The type of compute resource used to host your game servers. + // + // * EC2 – The game server build is deployed to Amazon EC2 instances for + // cloud hosting. This is the default setting. + // + // * CONTAINER – Container images with your game server build and supporting + // software are deployed to Amazon EC2 instances for cloud hosting. With + // this compute type, you must specify the ContainerGroupsConfiguration parameter. + // + // * ANYWHERE – Game servers or container images with your game server + // and supporting software are deployed to compute resources that are provided + // and managed by you. With this compute type, you can also set the AnywhereConfiguration + // parameter. ComputeType *string `type:"string" enum:"ComputeType"` + // The container groups to deploy to instances in the container fleet and other + // fleet-level configuration settings. Use the CreateContainerGroupDefinition + // action to create container groups. A container fleet must have exactly one + // replica container group, and can optionally have one daemon container group. + // You can't change this property after you create the fleet. + ContainerGroupsConfiguration *ContainerGroupsConfiguration `type:"structure"` + // A description for the fleet. Description *string `min:"1" type:"string"` - // The allowed IP address ranges and port settings that allow inbound traffic - // to access game sessions on this fleet. If the fleet is hosting a custom game - // build, this property must be set before players can connect to game sessions. + // The IP address ranges and port settings that allow inbound traffic to access + // game server processes and other processes on this fleet. Set this parameter + // for EC2 and container fleets. You can leave this parameter empty when creating + // the fleet, but you must call UpdateFleetPortSettings to set it before players + // can connect to game sessions. As a best practice, we recommend opening ports + // for remote access only when you need them and closing them when you're finished. // For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP // ranges. + // + // To manage inbound access for a container fleet, set this parameter to the + // same port numbers that you set for the fleet's connection port range. During + // the life of the fleet, update this parameter to control which connection + // ports are open to inbound traffic. EC2InboundPermissions []*IpPermission `type:"list"` - // The Amazon GameLift-supported Amazon EC2 instance type to use for all fleet - // instances. Instance type determines the computing resources that will be - // used to host your game servers, including CPU, memory, storage, and networking + // The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and + // container fleets. Instance type determines the computing resources that will + // be used to host your game servers, including CPU, memory, storage, and networking // capacity. See Amazon Elastic Compute Cloud Instance Types (http://aws.amazon.com/ec2/instance-types/) // for detailed descriptions of Amazon EC2 instance types. EC2InstanceType *string `type:"string" enum:"EC2InstanceType"` @@ -14498,23 +17120,24 @@ type CreateFleetInput struct { InstanceRoleArn *string `min:"1" type:"string"` // Prompts Amazon GameLift to generate a shared credentials file for the IAM - // role defined in InstanceRoleArn. The shared credentials file is stored on - // each fleet instance and refreshed as needed. Use shared credentials for applications - // that are deployed along with the game server executable, if the game server - // is integrated with server SDK version 5.x. For more information about using - // shared credentials, see Communicate with other Amazon Web Services resources - // from your fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). + // role that's defined in InstanceRoleArn. The shared credentials file is stored + // on each fleet instance and refreshed as needed. Use shared credentials for + // applications that are deployed along with the game server executable, if + // the game server is integrated with server SDK version 5.x. For more information + // about using shared credentials, see Communicate with other Amazon Web Services + // resources from your fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). InstanceRoleCredentialsProvider *string `type:"string" enum:"InstanceRoleCredentialsProvider"` // A set of remote locations to deploy additional instances to and manage as // part of the fleet. This parameter can only be used when creating fleets in // Amazon Web Services Regions that support multiple locations. You can add // any Amazon GameLift-supported Amazon Web Services Region as a remote location, - // in the form of an Amazon Web Services Region code such as us-west-2. To create - // a fleet with instances in the home Region only, don't use this parameter. + // in the form of an Amazon Web Services Region code, such as us-west-2 or Local + // Zone code. To create a fleet with instances in the home Region only, don't + // set this parameter. // - // To use this parameter, Amazon GameLift requires you to use your home location - // in the request. + // When using this parameter, Amazon GameLift requires you to include your home + // location in the request. Locations []*LocationConfiguration `min:"1" type:"list"` // This parameter is no longer used. To specify where Amazon GameLift should @@ -14564,20 +17187,21 @@ type CreateFleetInput struct { // can create on instances in this fleet within a specified span of time. ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"` - // Instructions for how to launch and maintain server processes on instances - // in the fleet. The runtime configuration defines one or more server process - // configurations, each identifying a build executable or Realtime script file - // and the number of processes of that type to run concurrently. + // Instructions for how to launch and run server processes on the fleet. Set + // runtime configuration for EC2 fleets and container fleets. For an Anywhere + // fleets, set this parameter only if the fleet is running the Amazon GameLift + // Agent. The runtime configuration defines one or more server process configurations. + // Each server process identifies a game executable or Realtime script file + // and the number of processes to run concurrently. // - // The RuntimeConfiguration parameter is required unless the fleet is being - // configured using the older parameters ServerLaunchPath and ServerLaunchParameters, + // This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters, // which are still supported for backward compatibility. RuntimeConfiguration *RuntimeConfiguration `type:"structure"` // The unique identifier for a Realtime configuration script to be deployed - // on fleet instances. You can use either the script ID or ARN. Scripts must - // be uploaded to Amazon GameLift prior to creating the fleet. This fleet property - // can't be changed after the fleet is created. + // to a fleet with compute type EC2. You can use either the script ID or ARN. + // Scripts must be uploaded to Amazon GameLift prior to creating the fleet. + // This fleet property can't be changed after the fleet is created. ScriptId *string `type:"string"` // This parameter is no longer used. Specify server launch parameters using @@ -14656,6 +17280,11 @@ func (s *CreateFleetInput) Validate() error { invalidParams.AddNested("CertificateConfiguration", err.(request.ErrInvalidParams)) } } + if s.ContainerGroupsConfiguration != nil { + if err := s.ContainerGroupsConfiguration.Validate(); err != nil { + invalidParams.AddNested("ContainerGroupsConfiguration", err.(request.ErrInvalidParams)) + } + } if s.EC2InboundPermissions != nil { for i, v := range s.EC2InboundPermissions { if v == nil { @@ -14722,6 +17351,12 @@ func (s *CreateFleetInput) SetComputeType(v string) *CreateFleetInput { return s } +// SetContainerGroupsConfiguration sets the ContainerGroupsConfiguration field's value. +func (s *CreateFleetInput) SetContainerGroupsConfiguration(v *ContainerGroupsConfiguration) *CreateFleetInput { + s.ContainerGroupsConfiguration = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput { s.Description = &v @@ -17023,6 +19658,78 @@ func (s DeleteBuildOutput) GoString() string { return s.String() } +type DeleteContainerGroupDefinitionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the container group definition to delete. You can + // use either the Name or ARN value. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContainerGroupDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContainerGroupDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContainerGroupDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContainerGroupDefinitionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteContainerGroupDefinitionInput) SetName(v string) *DeleteContainerGroupDefinitionInput { + s.Name = &v + return s +} + +type DeleteContainerGroupDefinitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContainerGroupDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContainerGroupDefinitionOutput) GoString() string { + return s.String() +} + type DeleteFleetInput struct { _ struct{} `type:"structure"` @@ -17941,7 +20648,10 @@ func (s DeleteVpcPeeringConnectionOutput) GoString() string { type DeregisterComputeInput struct { _ struct{} `type:"structure"` - // The name of the compute resource to remove from the specified Anywhere fleet. + // The unique identifier of the compute resource to deregister. For an Anywhere + // fleet compute, use the registered compute name. For a container fleet, use + // the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) + // or the compute ARN. // // ComputeName is a required field ComputeName *string `type:"string" required:"true"` @@ -18269,14 +20979,16 @@ type DescribeComputeInput struct { _ struct{} `type:"structure"` // The unique identifier of the compute resource to retrieve properties for. - // For an Anywhere fleet compute, use the registered compute name. For a managed - // EC2 fleet instance, use the instance ID. + // For an Anywhere fleet compute, use the registered compute name. For an EC2 + // fleet instance, use the instance ID. For a container fleet, use the compute + // name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) + // or the compute ARN. // // ComputeName is a required field ComputeName *string `type:"string" required:"true"` - // A unique identifier for the fleet that the compute is registered to. You - // can use either the fleet ID or ARN value. + // A unique identifier for the fleet that the compute belongs to. You can use + // either the fleet ID or ARN value. // // FleetId is a required field FleetId *string `type:"string" required:"true"` @@ -18359,6 +21071,87 @@ func (s *DescribeComputeOutput) SetCompute(v *Compute) *DescribeComputeOutput { return s } +type DescribeContainerGroupDefinitionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the container group definition to retrieve properties + // for. You can use either the Name or ARN value. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContainerGroupDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContainerGroupDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeContainerGroupDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeContainerGroupDefinitionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DescribeContainerGroupDefinitionInput) SetName(v string) *DescribeContainerGroupDefinitionInput { + s.Name = &v + return s +} + +type DescribeContainerGroupDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The properties of the requested container group definition resource. + ContainerGroupDefinition *ContainerGroupDefinition `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContainerGroupDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContainerGroupDefinitionOutput) GoString() string { + return s.String() +} + +// SetContainerGroupDefinition sets the ContainerGroupDefinition field's value. +func (s *DescribeContainerGroupDefinitionOutput) SetContainerGroupDefinition(v *ContainerGroupDefinition) *DescribeContainerGroupDefinitionOutput { + s.ContainerGroupDefinition = v + return s +} + type DescribeEC2InstanceLimitsInput struct { _ struct{} `type:"structure"` @@ -20928,8 +23721,8 @@ func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntim type DescribeRuntimeConfigurationOutput struct { _ struct{} `type:"structure"` - // Instructions that describe how server processes should be launched and maintained - // on each instance in the fleet. + // Instructions that describe how server processes are launched and maintained + // on computes in the fleet. RuntimeConfiguration *RuntimeConfiguration `type:"structure"` } @@ -21533,6 +24326,9 @@ func (s *EC2InstanceLimit) SetLocation(v string) *EC2InstanceLimit { type Event struct { _ struct{} `type:"structure"` + // The number of times that this event occurred. + Count *int64 `min:"1" type:"long"` + // The type of event being logged. // // Fleet state transition events: @@ -21730,6 +24526,12 @@ func (s Event) GoString() string { return s.String() } +// SetCount sets the Count field's value. +func (s *Event) SetCount(v int64) *Event { + s.Count = &v + return s +} + // SetEventCode sets the EventCode field's value. func (s *Event) SetEventCode(v string) *Event { s.EventCode = &v @@ -21815,30 +24617,47 @@ func (s *FilterConfiguration) SetAllowedLocations(v []*string) *FilterConfigurat return s } -// Describes a Amazon GameLift fleet of game hosting resources. +// This operation has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// Related actions +// Describes an Amazon GameLift fleet of game hosting resources. Attributes +// differ based on the fleet's compute type, as follows: +// +// - EC2 fleet attributes identify a Build resource (for fleets with customer +// game server builds) or a Script resource (for Realtime Servers fleets). +// +// - Container fleets have ContainerGroupsAttributes, which identify the +// fleet's ContainerGroupDefinition resources. +// +// - Amazon GameLift Anywhere fleets have an abbreviated set of attributes, +// because most fleet configurations are set directly on the fleet's computes. +// Attributes include fleet identifiers and descriptive properties, creation/termination +// time, and fleet status. +// +// Returned by: DescribeFleetAttributes type FleetAttributes struct { _ struct{} `type:"structure"` - // Amazon GameLift Anywhere configuration options for your Anywhere fleets. + // This property is used with the Amazon GameLift containers feature, which + // is currently in public preview. A set of attributes that describe the container + // groups that are deployed on the fleet. These attributes are included for + // fleets with compute type CONTAINER only. This attribute is used with fleets + // where ComputeType is "Container". AnywhereConfiguration *AnywhereConfiguration `type:"structure"` // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // associated with the Amazon GameLift build resource that is deployed on instances // in this fleet. In a GameLift build ARN, the resource ID matches the BuildId - // value. + // value. This attribute is used with fleets where ComputeType is "EC2". BuildArn *string `type:"string"` // A unique identifier for the build resource that is deployed on instances - // in this fleet. + // in this fleet. This attribute is used with fleets where ComputeType is "EC2". BuildId *string `type:"string"` // Determines whether a TLS/SSL certificate is generated for a fleet. This feature // must be enabled when creating the fleet. All instances in a fleet share the - // same certificate. The certificate can be retrieved by calling the Amazon - // GameLift Server SDK (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html) - // operation GetInstanceCertificate. + // same certificate. CertificateConfiguration *CertificateConfiguration `type:"structure"` // The type of compute resource used to host your game servers. You can use @@ -21846,6 +24665,11 @@ type FleetAttributes struct { // instances with managed Amazon GameLift. ComputeType *string `type:"string" enum:"ComputeType"` + // A set of properties that describe the container groups that are deployed + // to the fleet. These attributes are included for fleets with compute type + // CONTAINER. + ContainerGroupsAttributes *ContainerGroupsAttributes `type:"structure"` + // A time stamp indicating when this data object was created. Format is a number // expressed in Unix time as milliseconds (for example "1469498468.057"). CreationTime *time.Time `type:"timestamp"` @@ -21862,9 +24686,8 @@ type FleetAttributes struct { // A unique identifier for the fleet. FleetId *string `type:"string"` - // Indicates whether to use On-Demand or Spot instances for this fleet. By default, - // this property is set to ON_DEMAND. Learn more about when to use On-Demand - // versus Spot Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot). + // Indicates whether the fleet uses On-Demand or Spot instances. For more information, + // see On-Demand versus Spot Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot). // This fleet property can't be changed after the fleet is created. FleetType *string `type:"string" enum:"FleetType"` @@ -21875,6 +24698,7 @@ type FleetAttributes struct { // to. For more information about using the role with your game server builds, // see Communicate with other Amazon Web Services resources from your fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). + // This attribute is used with fleets where ComputeType is "EC2" or "Container". InstanceRoleArn *string `min:"1" type:"string"` // Indicates that fleet instances maintain a shared credentials file for the @@ -21884,12 +24708,14 @@ type FleetAttributes struct { // is integrated with the server SDK version 5.x. For more information about // using shared credentials, see Communicate with other Amazon Web Services // resources from your fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). + // This attribute is used with fleets where ComputeType is "EC2" or "Container". InstanceRoleCredentialsProvider *string `type:"string" enum:"InstanceRoleCredentialsProvider"` - // The Amazon EC2 instance type that determines the computing resources of each - // instance in the fleet. Instance type defines the CPU, memory, storage, and - // networking capacity. See Amazon Elastic Compute Cloud Instance Types (http://aws.amazon.com/ec2/instance-types/) - // for detailed descriptions. + // The Amazon EC2 instance type that the fleet uses. Instance type determines + // the computing resources of each instance in the fleet, including CPU, memory, + // storage, and networking capacity. See Amazon Elastic Compute Cloud Instance + // Types (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + // This attribute is used with fleets where ComputeType is "EC2" or "Container". InstanceType *string `type:"string" enum:"EC2InstanceType"` // This parameter is no longer used. Game session log paths are now defined @@ -21899,7 +24725,8 @@ type FleetAttributes struct { // Name of a metric group that metrics for this fleet are added to. In Amazon // CloudWatch, you can view aggregated metrics for fleets that are in a metric - // group. A fleet can be included in only one metric group at a time. + // group. A fleet can be included in only one metric group at a time. This attribute + // is used with fleets where ComputeType is "EC2" or "Container". MetricGroups []*string `type:"list"` // A descriptive label that is associated with a fleet. Fleet names do not need @@ -21907,7 +24734,8 @@ type FleetAttributes struct { Name *string `min:"1" type:"string"` // The type of game session protection to set on all new instances that are - // started in the fleet. + // started in the fleet. This attribute is used with fleets where ComputeType + // is "EC2" or "Container". // // * NoProtection -- The game session can be terminated during a scale-down // event. @@ -21918,7 +24746,8 @@ type FleetAttributes struct { // The operating system of the fleet's computing resources. A fleet's operating // system is determined by the OS of the build or script that is deployed on - // this fleet. + // this fleet. This attribute is used with fleets where ComputeType is "EC2" + // or "Container". OperatingSystem *string `type:"string" enum:"OperatingSystem"` // A policy that puts limits on the number of game sessions that a player can @@ -21938,17 +24767,18 @@ type FleetAttributes struct { ScriptArn *string `type:"string"` // A unique identifier for the Realtime script resource that is deployed on - // instances in this fleet. + // instances in this fleet. This attribute is used with fleets where ComputeType + // is "EC2". ScriptId *string `type:"string"` // This parameter is no longer used. Server launch parameters are now defined // using the fleet's runtime configuration . Requests that use this parameter - // instead continue to be valid. + // continue to be valid. ServerLaunchParameters *string `min:"1" type:"string"` // This parameter is no longer used. Server launch paths are now defined using // the fleet's RuntimeConfiguration (https://docs.aws.amazon.com/gamelift/latest/apireference/RuntimeConfiguration.html) - // . Requests that use this parameter instead continue to be valid. + // . Requests that use this parameter continue to be valid. ServerLaunchPath *string `min:"1" type:"string"` // Current status of the fleet. Possible fleet statuses include the following: @@ -21970,8 +24800,9 @@ type FleetAttributes struct { // * TERMINATED -- The fleet no longer exists. Status *string `type:"string" enum:"FleetStatus"` - // A list of fleet activity that has been suspended using StopFleetActions (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopFleetActions.html) - // . This includes fleet auto-scaling. + // A list of fleet activity that has been suspended using StopFleetActions (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopFleetActions.html). + // This includes fleet auto-scaling. This attribute is used with fleets where + // ComputeType is "EC2" or "Container". StoppedActions []*string `min:"1" type:"list" enum:"FleetAction"` // A time stamp indicating when this data object was terminated. Format is a @@ -22027,6 +24858,12 @@ func (s *FleetAttributes) SetComputeType(v string) *FleetAttributes { return s } +// SetContainerGroupsAttributes sets the ContainerGroupsAttributes field's value. +func (s *FleetAttributes) SetContainerGroupsAttributes(v *ContainerGroupsAttributes) *FleetAttributes { + s.ContainerGroupsAttributes = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes { s.CreationTime = &v @@ -22153,14 +24990,13 @@ func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes { return s } -// Current resource capacity settings in a specified fleet or location. The -// location value might refer to a fleet's remote location or its home Region. -// -// # Related actions +// Current resource capacity settings for managed EC2 fleets and container fleets. +// For multi-location fleets, location values might refer to a fleet's remote +// location or its home Region. // -// DescribeFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) -// | DescribeFleetLocationCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) -// | UpdateFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) +// Returned by: DescribeFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html), +// DescribeFleetLocationCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html), +// UpdateFleetCapacity (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) type FleetCapacity struct { _ struct{} `type:"structure"` @@ -22172,20 +25008,26 @@ type FleetCapacity struct { // A unique identifier for the fleet associated with the location. FleetId *string `type:"string"` - // Resource capacity settings. Fleet capacity is measured in Amazon EC2 instances. - // Pending and terminating counts are non-zero when the fleet capacity is adjusting - // to a scaling event or if access to resources is temporarily affected. + // The current number of instances in the fleet, listed by instance status. + // Counts for pending and terminating instances might be non-zero if the fleet + // is adjusting to a scaling event or if access to resources is temporarily + // affected. InstanceCounts *EC2InstanceCounts `type:"structure"` - // The Amazon EC2 instance type that is used for all instances in a fleet. The - // instance type determines the computing resources in use, including CPU, memory, - // storage, and networking capacity. See Amazon Elastic Compute Cloud Instance - // Types (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + // The Amazon EC2 instance type that is used for instances in a fleet. Instance + // type determines the computing resources in use, including CPU, memory, storage, + // and networking capacity. See Amazon Elastic Compute Cloud Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. InstanceType *string `type:"string" enum:"EC2InstanceType"` // The fleet location for the instance count information, expressed as an Amazon // Web Services Region code, such as us-west-2. Location *string `min:"1" type:"string"` + + // This property is used with the Amazon GameLift containers feature, which + // is currently in public preview. The number and status of replica container + // groups in a container fleet. + ReplicaContainerGroupCounts *ReplicaContainerGroupCounts `type:"structure"` } // String returns the string representation. @@ -22236,6 +25078,12 @@ func (s *FleetCapacity) SetLocation(v string) *FleetCapacity { return s } +// SetReplicaContainerGroupCounts sets the ReplicaContainerGroupCounts field's value. +func (s *FleetCapacity) SetReplicaContainerGroupCounts(v *ReplicaContainerGroupCounts) *FleetCapacity { + s.ReplicaContainerGroupCounts = v + return s +} + // The specified fleet has no available instances to fulfill a CreateGameSession // request. Clients can retry such requests immediately or after a waiting period. type FleetCapacityExceededException struct { @@ -22302,9 +25150,7 @@ func (s *FleetCapacityExceededException) RequestID() string { } // Current resource utilization statistics in a specified fleet or location. -// The location value might refer to a fleet's remote location or its home Region. -// -// Related actions +// The location value might refer to a fleet's remote location or its home region. type FleetUtilization struct { _ struct{} `type:"structure"` @@ -23845,12 +26691,14 @@ type GetComputeAccessInput struct { _ struct{} `type:"structure"` // A unique identifier for the compute resource that you want to connect to. - // You can use either a registered compute name or an instance ID. + // For an EC2 fleet compute, use the instance ID. For a container fleet, use + // the compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) + // or the compute ARN. // // ComputeName is a required field ComputeName *string `type:"string" required:"true"` - // A unique identifier for the fleet that contains the compute resource you + // A unique identifier for the fleet that holds the compute resource that you // want to connect to. You can use either the fleet ID or ARN value. // // FleetId is a required field @@ -23928,8 +26776,12 @@ type GetComputeAccessOutput struct { // it. ARNs are unique across all Regions. Format is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. FleetArn *string `type:"string"` - // The ID of the fleet that contains the compute resource to be accessed. + // The ID of the fleet that holds the compute resource to be accessed. FleetId *string `type:"string"` + + // (For container fleets only) The instance ID where the compute resource is + // running. + Target *string `min:"1" type:"string"` } // String returns the string representation. @@ -23980,11 +26832,20 @@ func (s *GetComputeAccessOutput) SetFleetId(v string) *GetComputeAccessOutput { return s } +// SetTarget sets the Target field's value. +func (s *GetComputeAccessOutput) SetTarget(v string) *GetComputeAccessOutput { + s.Target = &v + return s +} + type GetComputeAuthTokenInput struct { _ struct{} `type:"structure"` // The name of the compute resource you are requesting the authentication token - // for. + // for. For an Anywhere fleet compute, use the registered compute name. For + // an EC2 fleet instance, use the instance ID. For a container fleet, use the + // compute name (for example, a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9) + // or the compute ARN. // // ComputeName is a required field ComputeName *string `type:"string" required:"true"` @@ -24970,9 +27831,11 @@ func (s *InvalidRequestException) RequestID() string { } // A range of IP addresses and port settings that allow inbound traffic to connect -// to server processes on an instance in a fleet. New game sessions are assigned -// an IP address/port number combination, which must fall into the fleet's allowed -// ranges. Fleets with custom game builds must have permissions explicitly set. +// to processes on an instance in a fleet. Processes are assigned an IP address/port +// number combination, which must fall into the fleet's allowed ranges. For +// container fleets, the port settings must use the same port numbers as the +// fleet's connection ports. +// // For Realtime Servers fleets, Amazon GameLift automatically opens two port // ranges, one for TCP messaging and one for UDP. type IpPermission struct { @@ -25504,7 +28367,10 @@ type ListComputeInput struct { // to get results as a set of sequential pages. Limit *int64 `min:"1" type:"integer"` - // The name of a location to retrieve compute resources for. + // The name of a location to retrieve compute resources for. For an Amazon GameLift + // Anywhere fleet, use a custom location. For a multi-location EC2 or container + // fleet, provide a Amazon Web Services Region or Local Zone code (for example: + // us-west-2 or us-west-2-lax-1). Location *string `min:"1" type:"string"` // A token that indicates the start of the next sequential page of results. @@ -25619,6 +28485,123 @@ func (s *ListComputeOutput) SetNextToken(v string) *ListComputeOutput { return s } +type ListContainerGroupDefinitionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return. Use this parameter with NextToken + // to get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // A token that indicates the start of the next sequential page of results. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // The type of container group definitions to retrieve. + // + // * DAEMON -- Daemon container groups run background processes and are deployed + // once per fleet instance. + // + // * REPLICA -- Replica container groups run your game server application + // and supporting software. Replica groups might be deployed multiple times + // per fleet instance. + SchedulingStrategy *string `type:"string" enum:"ContainerSchedulingStrategy"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContainerGroupDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContainerGroupDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListContainerGroupDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContainerGroupDefinitionsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListContainerGroupDefinitionsInput) SetLimit(v int64) *ListContainerGroupDefinitionsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContainerGroupDefinitionsInput) SetNextToken(v string) *ListContainerGroupDefinitionsInput { + s.NextToken = &v + return s +} + +// SetSchedulingStrategy sets the SchedulingStrategy field's value. +func (s *ListContainerGroupDefinitionsInput) SetSchedulingStrategy(v string) *ListContainerGroupDefinitionsInput { + s.SchedulingStrategy = &v + return s +} + +type ListContainerGroupDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // A result set of container group definitions that match the request. + ContainerGroupDefinitions []*ContainerGroupDefinition `type:"list"` + + // A token that indicates where to resume retrieving results on the next call + // to this operation. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContainerGroupDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContainerGroupDefinitionsOutput) GoString() string { + return s.String() +} + +// SetContainerGroupDefinitions sets the ContainerGroupDefinitions field's value. +func (s *ListContainerGroupDefinitionsOutput) SetContainerGroupDefinitions(v []*ContainerGroupDefinition) *ListContainerGroupDefinitionsOutput { + s.ContainerGroupDefinitions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContainerGroupDefinitionsOutput) SetNextToken(v string) *ListContainerGroupDefinitionsOutput { + s.NextToken = &v + return s +} + type ListFleetsInput struct { _ struct{} `type:"structure"` @@ -25627,6 +28610,11 @@ type ListFleetsInput struct { // ARN value. BuildId *string `type:"string"` + // The container group definition name to request fleets for. Use this parameter + // to return only fleets that are deployed with the specified container group + // definition. + ContainerGroupDefinitionName *string `min:"1" type:"string"` + // The maximum number of results to return. Use this parameter with NextToken // to get results as a set of sequential pages. Limit *int64 `min:"1" type:"integer"` @@ -25663,6 +28651,9 @@ func (s ListFleetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListFleetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"} + if s.ContainerGroupDefinitionName != nil && len(*s.ContainerGroupDefinitionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContainerGroupDefinitionName", 1)) + } if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } @@ -25682,6 +28673,12 @@ func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput { return s } +// SetContainerGroupDefinitionName sets the ContainerGroupDefinitionName field's value. +func (s *ListFleetsInput) SetContainerGroupDefinitionName(v string) *ListFleetsInput { + s.ContainerGroupDefinitionName = &v + return s +} + // SetLimit sets the Limit field's value. func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput { s.Limit = &v @@ -26321,6 +29318,9 @@ func (s *LocationAttributes) SetUpdateStatus(v string) *LocationAttributes { return s } +// This data type has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. +// // A remote location where a multi-location fleet can deploy game servers for // game hosting. type LocationConfiguration struct { @@ -26372,7 +29372,9 @@ func (s *LocationConfiguration) SetLocation(v string) *LocationConfiguration { return s } -// Properties of a location +// Properties of a custom location for use in an Amazon GameLift Anywhere fleet. +// This data type is returned in response to a call to https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateLocation.html +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateLocation.html). type LocationModel struct { _ struct{} `type:"structure"` @@ -27089,6 +30091,72 @@ func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// The operation failed because Amazon GameLift has not yet finished validating +// this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes +// with exponential backoffs and jitter (http://aws.amazon.com/blogs/https:/aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). +type NotReadyException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotReadyException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotReadyException) GoString() string { + return s.String() +} + +func newErrorNotReadyException(v protocol.ResponseMetadata) error { + return &NotReadyException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NotReadyException) Code() string { + return "NotReadyException" +} + +// Message returns the exception's message. +func (s *NotReadyException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotReadyException) OrigErr() error { + return nil +} + +func (s *NotReadyException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NotReadyException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NotReadyException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified game server group has no available game servers to fulfill // a ClaimGameServer request. Clients can retry such requests immediately or // after a waiting period. @@ -28240,6 +31308,74 @@ func (s *RegisterGameServerOutput) SetGameServer(v *GameServer) *RegisterGameSer return s } +// This data type is used with the Amazon GameLift containers feature, which +// is currently in public preview. +// +// The number and status of replica container groups that are deployed across +// a fleet with compute type CONTAINER. This information, combined with the +// number of server processes being hosted per container group (see RuntimeConfiguration), +// tells you how many game sessions the fleet is currently capable of hosting +// concurrently. +// +// Returned by: DescribeFleetCapacity, DescribeFleetLocationCapacity +type ReplicaContainerGroupCounts struct { + _ struct{} `type:"structure"` + + // The number of container groups that have active game sessions. + ACTIVE *int64 `type:"integer"` + + // The number of container groups that have no active game sessions. + IDLE *int64 `type:"integer"` + + // The number of container groups that are starting up but have not yet registered. + PENDING *int64 `type:"integer"` + + // The number of container groups that are in the process of shutting down. + TERMINATING *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicaContainerGroupCounts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicaContainerGroupCounts) GoString() string { + return s.String() +} + +// SetACTIVE sets the ACTIVE field's value. +func (s *ReplicaContainerGroupCounts) SetACTIVE(v int64) *ReplicaContainerGroupCounts { + s.ACTIVE = &v + return s +} + +// SetIDLE sets the IDLE field's value. +func (s *ReplicaContainerGroupCounts) SetIDLE(v int64) *ReplicaContainerGroupCounts { + s.IDLE = &v + return s +} + +// SetPENDING sets the PENDING field's value. +func (s *ReplicaContainerGroupCounts) SetPENDING(v int64) *ReplicaContainerGroupCounts { + s.PENDING = &v + return s +} + +// SetTERMINATING sets the TERMINATING field's value. +func (s *ReplicaContainerGroupCounts) SetTERMINATING(v int64) *ReplicaContainerGroupCounts { + s.TERMINATING = &v + return s +} + type RequestUploadCredentialsInput struct { _ struct{} `type:"structure"` @@ -28639,15 +31775,21 @@ func (s *RoutingStrategy) SetType(v string) *RoutingStrategy { return s } -// A collection of server process configurations that describe the set of processes -// to run on each instance in a fleet. Server processes run either an executable -// in a custom game build or a Realtime Servers script. Amazon GameLift launches -// the configured processes, manages their life cycle, and replaces them as -// needed. Each instance checks regularly for an updated runtime configuration. +// This data type has been expanded to use with the Amazon GameLift containers +// feature, which is currently in public preview. // -// A Amazon GameLift instance is limited to 50 processes running concurrently. -// To calculate the total number of processes in a runtime configuration, add -// the values of the ConcurrentExecutions parameter for each server process. +// A set of instructions that define the set of server processes to run on computes +// in a fleet. Server processes run either an executable in a custom game build +// or a Realtime Servers script. Amazon GameLift launches the processes, manages +// their life cycle, and replaces them as needed. Computes check regularly for +// an updated runtime configuration. +// +// On a container fleet, the Amazon GameLift Agent uses the runtime configuration +// to manage the lifecycle of server processes in a replica container group. +// +// An Amazon GameLift instance is limited to 50 processes running concurrently. +// To calculate the total number of processes defined in a runtime configuration, +// add the values of the ConcurrentExecutions parameter for each server process. // Learn more about Running Multiple Processes on a Fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html). type RuntimeConfiguration struct { _ struct{} `type:"structure"` @@ -28658,13 +31800,13 @@ type RuntimeConfiguration struct { // the timeout, it is ended and the game session status is changed to TERMINATED. GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"` - // The number of game sessions in status ACTIVATING to allow on an instance. - // This setting limits the instance resources that can be used for new game - // activations at any one time. + // The number of game sessions in status ACTIVATING to allow on an instance + // or container. This setting limits the instance resources that can be used + // for new game activations at any one time. MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"` // A collection of server process configurations that identify what server processes - // to run on each instance in a fleet. + // to run on fleet computes. ServerProcesses []*ServerProcess `min:"1" type:"list"` } @@ -29364,15 +32506,14 @@ func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOut return s } -// A set of instructions for launching server processes on each instance in -// a fleet. Server processes run either an executable in a custom game build -// or a Realtime Servers script. Server process configurations are part of a -// fleet's runtime configuration. +// A set of instructions for launching server processes on fleet computes. Server +// processes run either an executable in a custom game build or a Realtime Servers +// script. Server process configurations are part of a fleet's runtime configuration. type ServerProcess struct { _ struct{} `type:"structure"` // The number of server processes using this configuration that run concurrently - // on each instance. + // on each instance or container.. // // ConcurrentExecutions is a required field ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"` @@ -32627,11 +35768,10 @@ type UpdateRuntimeConfigurationInput struct { // FleetId is a required field FleetId *string `type:"string" required:"true"` - // Instructions for launching server processes on each instance in the fleet. - // Server processes run either a custom game build executable or a Realtime - // Servers script. The runtime configuration lists the types of server processes - // to run on an instance, how to launch them, and the number of processes to - // run concurrently. + // Instructions for launching server processes on fleet computes. Server processes + // run either a custom game build executable or a Realtime Servers script. The + // runtime configuration lists the types of server processes to run, how to + // launch them, and the number of processes to run concurrently. // // RuntimeConfiguration is a required field RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"` @@ -32691,8 +35831,8 @@ func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConf type UpdateRuntimeConfigurationOutput struct { _ struct{} `type:"structure"` - // The runtime configuration currently in use by all instances in the fleet. - // If the update was successful, all property changes are shown. + // The runtime configuration currently in use by computes in the fleet. If the + // update is successful, all property changes are shown. RuntimeConfiguration *RuntimeConfiguration `type:"structure"` } @@ -33317,6 +36457,9 @@ const ( // ComputeTypeAnywhere is a ComputeType enum value ComputeTypeAnywhere = "ANYWHERE" + + // ComputeTypeContainer is a ComputeType enum value + ComputeTypeContainer = "CONTAINER" ) // ComputeType_Values returns all elements of the ComputeType enum @@ -33324,6 +36467,79 @@ func ComputeType_Values() []string { return []string{ ComputeTypeEc2, ComputeTypeAnywhere, + ComputeTypeContainer, + } +} + +const ( + // ContainerDependencyConditionStart is a ContainerDependencyCondition enum value + ContainerDependencyConditionStart = "START" + + // ContainerDependencyConditionComplete is a ContainerDependencyCondition enum value + ContainerDependencyConditionComplete = "COMPLETE" + + // ContainerDependencyConditionSuccess is a ContainerDependencyCondition enum value + ContainerDependencyConditionSuccess = "SUCCESS" + + // ContainerDependencyConditionHealthy is a ContainerDependencyCondition enum value + ContainerDependencyConditionHealthy = "HEALTHY" +) + +// ContainerDependencyCondition_Values returns all elements of the ContainerDependencyCondition enum +func ContainerDependencyCondition_Values() []string { + return []string{ + ContainerDependencyConditionStart, + ContainerDependencyConditionComplete, + ContainerDependencyConditionSuccess, + ContainerDependencyConditionHealthy, + } +} + +const ( + // ContainerGroupDefinitionStatusReady is a ContainerGroupDefinitionStatus enum value + ContainerGroupDefinitionStatusReady = "READY" + + // ContainerGroupDefinitionStatusCopying is a ContainerGroupDefinitionStatus enum value + ContainerGroupDefinitionStatusCopying = "COPYING" + + // ContainerGroupDefinitionStatusFailed is a ContainerGroupDefinitionStatus enum value + ContainerGroupDefinitionStatusFailed = "FAILED" +) + +// ContainerGroupDefinitionStatus_Values returns all elements of the ContainerGroupDefinitionStatus enum +func ContainerGroupDefinitionStatus_Values() []string { + return []string{ + ContainerGroupDefinitionStatusReady, + ContainerGroupDefinitionStatusCopying, + ContainerGroupDefinitionStatusFailed, + } +} + +const ( + // ContainerOperatingSystemAmazonLinux2023 is a ContainerOperatingSystem enum value + ContainerOperatingSystemAmazonLinux2023 = "AMAZON_LINUX_2023" +) + +// ContainerOperatingSystem_Values returns all elements of the ContainerOperatingSystem enum +func ContainerOperatingSystem_Values() []string { + return []string{ + ContainerOperatingSystemAmazonLinux2023, + } +} + +const ( + // ContainerSchedulingStrategyReplica is a ContainerSchedulingStrategy enum value + ContainerSchedulingStrategyReplica = "REPLICA" + + // ContainerSchedulingStrategyDaemon is a ContainerSchedulingStrategy enum value + ContainerSchedulingStrategyDaemon = "DAEMON" +) + +// ContainerSchedulingStrategy_Values returns all elements of the ContainerSchedulingStrategy enum +func ContainerSchedulingStrategy_Values() []string { + return []string{ + ContainerSchedulingStrategyReplica, + ContainerSchedulingStrategyDaemon, } } diff --git a/service/gamelift/errors.go b/service/gamelift/errors.go index 901d58c1411..c561a28013f 100644 --- a/service/gamelift/errors.go +++ b/service/gamelift/errors.go @@ -82,6 +82,14 @@ const ( // yet or deleted. ErrCodeNotFoundException = "NotFoundException" + // ErrCodeNotReadyException for service response error code + // "NotReadyException". + // + // The operation failed because Amazon GameLift has not yet finished validating + // this compute. We recommend attempting 8 to 10 retries over 3 to 5 minutes + // with exponential backoffs and jitter (http://aws.amazon.com/blogs/https:/aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). + ErrCodeNotReadyException = "NotReadyException" + // ErrCodeOutOfCapacityException for service response error code // "OutOfCapacityException". // @@ -132,6 +140,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidRequestException": newErrorInvalidRequestException, "LimitExceededException": newErrorLimitExceededException, "NotFoundException": newErrorNotFoundException, + "NotReadyException": newErrorNotReadyException, "OutOfCapacityException": newErrorOutOfCapacityException, "TaggingFailedException": newErrorTaggingFailedException, "TerminalRoutingStrategyException": newErrorTerminalRoutingStrategyException, diff --git a/service/gamelift/gameliftiface/interface.go b/service/gamelift/gameliftiface/interface.go index ef5d0802484..e8eeda08176 100644 --- a/service/gamelift/gameliftiface/interface.go +++ b/service/gamelift/gameliftiface/interface.go @@ -76,6 +76,10 @@ type GameLiftAPI interface { CreateBuildWithContext(aws.Context, *gamelift.CreateBuildInput, ...request.Option) (*gamelift.CreateBuildOutput, error) CreateBuildRequest(*gamelift.CreateBuildInput) (*request.Request, *gamelift.CreateBuildOutput) + CreateContainerGroupDefinition(*gamelift.CreateContainerGroupDefinitionInput) (*gamelift.CreateContainerGroupDefinitionOutput, error) + CreateContainerGroupDefinitionWithContext(aws.Context, *gamelift.CreateContainerGroupDefinitionInput, ...request.Option) (*gamelift.CreateContainerGroupDefinitionOutput, error) + CreateContainerGroupDefinitionRequest(*gamelift.CreateContainerGroupDefinitionInput) (*request.Request, *gamelift.CreateContainerGroupDefinitionOutput) + CreateFleet(*gamelift.CreateFleetInput) (*gamelift.CreateFleetOutput, error) CreateFleetWithContext(aws.Context, *gamelift.CreateFleetInput, ...request.Option) (*gamelift.CreateFleetOutput, error) CreateFleetRequest(*gamelift.CreateFleetInput) (*request.Request, *gamelift.CreateFleetOutput) @@ -136,6 +140,10 @@ type GameLiftAPI interface { DeleteBuildWithContext(aws.Context, *gamelift.DeleteBuildInput, ...request.Option) (*gamelift.DeleteBuildOutput, error) DeleteBuildRequest(*gamelift.DeleteBuildInput) (*request.Request, *gamelift.DeleteBuildOutput) + DeleteContainerGroupDefinition(*gamelift.DeleteContainerGroupDefinitionInput) (*gamelift.DeleteContainerGroupDefinitionOutput, error) + DeleteContainerGroupDefinitionWithContext(aws.Context, *gamelift.DeleteContainerGroupDefinitionInput, ...request.Option) (*gamelift.DeleteContainerGroupDefinitionOutput, error) + DeleteContainerGroupDefinitionRequest(*gamelift.DeleteContainerGroupDefinitionInput) (*request.Request, *gamelift.DeleteContainerGroupDefinitionOutput) + DeleteFleet(*gamelift.DeleteFleetInput) (*gamelift.DeleteFleetOutput, error) DeleteFleetWithContext(aws.Context, *gamelift.DeleteFleetInput, ...request.Option) (*gamelift.DeleteFleetOutput, error) DeleteFleetRequest(*gamelift.DeleteFleetInput) (*request.Request, *gamelift.DeleteFleetOutput) @@ -200,6 +208,10 @@ type GameLiftAPI interface { DescribeComputeWithContext(aws.Context, *gamelift.DescribeComputeInput, ...request.Option) (*gamelift.DescribeComputeOutput, error) DescribeComputeRequest(*gamelift.DescribeComputeInput) (*request.Request, *gamelift.DescribeComputeOutput) + DescribeContainerGroupDefinition(*gamelift.DescribeContainerGroupDefinitionInput) (*gamelift.DescribeContainerGroupDefinitionOutput, error) + DescribeContainerGroupDefinitionWithContext(aws.Context, *gamelift.DescribeContainerGroupDefinitionInput, ...request.Option) (*gamelift.DescribeContainerGroupDefinitionOutput, error) + DescribeContainerGroupDefinitionRequest(*gamelift.DescribeContainerGroupDefinitionInput) (*request.Request, *gamelift.DescribeContainerGroupDefinitionOutput) + DescribeEC2InstanceLimits(*gamelift.DescribeEC2InstanceLimitsInput) (*gamelift.DescribeEC2InstanceLimitsOutput, error) DescribeEC2InstanceLimitsWithContext(aws.Context, *gamelift.DescribeEC2InstanceLimitsInput, ...request.Option) (*gamelift.DescribeEC2InstanceLimitsOutput, error) DescribeEC2InstanceLimitsRequest(*gamelift.DescribeEC2InstanceLimitsInput) (*request.Request, *gamelift.DescribeEC2InstanceLimitsOutput) @@ -383,6 +395,13 @@ type GameLiftAPI interface { ListComputePages(*gamelift.ListComputeInput, func(*gamelift.ListComputeOutput, bool) bool) error ListComputePagesWithContext(aws.Context, *gamelift.ListComputeInput, func(*gamelift.ListComputeOutput, bool) bool, ...request.Option) error + ListContainerGroupDefinitions(*gamelift.ListContainerGroupDefinitionsInput) (*gamelift.ListContainerGroupDefinitionsOutput, error) + ListContainerGroupDefinitionsWithContext(aws.Context, *gamelift.ListContainerGroupDefinitionsInput, ...request.Option) (*gamelift.ListContainerGroupDefinitionsOutput, error) + ListContainerGroupDefinitionsRequest(*gamelift.ListContainerGroupDefinitionsInput) (*request.Request, *gamelift.ListContainerGroupDefinitionsOutput) + + ListContainerGroupDefinitionsPages(*gamelift.ListContainerGroupDefinitionsInput, func(*gamelift.ListContainerGroupDefinitionsOutput, bool) bool) error + ListContainerGroupDefinitionsPagesWithContext(aws.Context, *gamelift.ListContainerGroupDefinitionsInput, func(*gamelift.ListContainerGroupDefinitionsOutput, bool) bool, ...request.Option) error + ListFleets(*gamelift.ListFleetsInput) (*gamelift.ListFleetsOutput, error) ListFleetsWithContext(aws.Context, *gamelift.ListFleetsInput, ...request.Option) (*gamelift.ListFleetsOutput, error) ListFleetsRequest(*gamelift.ListFleetsInput) (*request.Request, *gamelift.ListFleetsOutput) diff --git a/service/ssm/api.go b/service/ssm/api.go index 5970b13555b..1c2fecb69ef 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -5115,6 +5115,174 @@ func (c *SSM) DescribeInstancePatchesPagesWithContext(ctx aws.Context, input *De return p.Err() } +const opDescribeInstanceProperties = "DescribeInstanceProperties" + +// DescribeInstancePropertiesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceProperties operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInstanceProperties for more information on using the DescribeInstanceProperties +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeInstancePropertiesRequest method. +// req, resp := client.DescribeInstancePropertiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceProperties +func (c *SSM) DescribeInstancePropertiesRequest(input *DescribeInstancePropertiesInput) (req *request.Request, output *DescribeInstancePropertiesOutput) { + op := &request.Operation{ + Name: opDescribeInstanceProperties, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeInstancePropertiesInput{} + } + + output = &DescribeInstancePropertiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstanceProperties API operation for Amazon Simple Systems Manager (SSM). +// +// An API operation used by the Systems Manager console to display information +// about Systems Manager managed nodes. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation DescribeInstanceProperties for usage and error information. +// +// Returned Error Types: +// +// - InvalidNextToken +// The specified token isn't valid. +// +// - InvalidFilterKey +// The specified key isn't valid. +// +// - InvalidInstanceId +// The following problems can cause this exception: +// +// - You don't have permission to access the managed node. +// +// - Amazon Web Services Systems Manager Agent (SSM Agent) isn't running. +// Verify that SSM Agent is running. +// +// - SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM +// Agent. +// +// - The managed node isn't in a valid state. Valid states are: Running, +// Pending, Stopped, and Stopping. Invalid states are: Shutting-down and +// Terminated. +// +// - InvalidActivationId +// The activation ID isn't valid. Verify the you entered the correct ActivationId +// or ActivationCode and try again. +// +// - InvalidInstancePropertyFilterValue +// The specified filter value isn't valid. +// +// - InternalServerError +// An error occurred on the server side. +// +// - InvalidDocument +// The specified SSM document doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceProperties +func (c *SSM) DescribeInstanceProperties(input *DescribeInstancePropertiesInput) (*DescribeInstancePropertiesOutput, error) { + req, out := c.DescribeInstancePropertiesRequest(input) + return out, req.Send() +} + +// DescribeInstancePropertiesWithContext is the same as DescribeInstanceProperties with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstanceProperties for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstancePropertiesWithContext(ctx aws.Context, input *DescribeInstancePropertiesInput, opts ...request.Option) (*DescribeInstancePropertiesOutput, error) { + req, out := c.DescribeInstancePropertiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeInstancePropertiesPages iterates over the pages of a DescribeInstanceProperties operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceProperties method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeInstanceProperties operation. +// pageNum := 0 +// err := client.DescribeInstancePropertiesPages(params, +// func(page *ssm.DescribeInstancePropertiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSM) DescribeInstancePropertiesPages(input *DescribeInstancePropertiesInput, fn func(*DescribeInstancePropertiesOutput, bool) bool) error { + return c.DescribeInstancePropertiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePropertiesPagesWithContext same as DescribeInstancePropertiesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstancePropertiesPagesWithContext(ctx aws.Context, input *DescribeInstancePropertiesInput, fn func(*DescribeInstancePropertiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePropertiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePropertiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePropertiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInventoryDeletions = "DescribeInventoryDeletions" // DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the @@ -22610,6 +22778,12 @@ type CreateDocumentInput struct { // // * amzn // + // * AWSEC2 + // + // * AWSConfigRemediation + // + // * AWSSupport + // // Name is a required field Name *string `type:"string" required:"true"` @@ -22883,6 +23057,9 @@ type CreateMaintenanceWindowInput struct { // The date and time, in ISO-8601 Extended format, for when you want the maintenance // window to become active. StartDate allows you to delay activation of the // maintenance window until the specified future date. + // + // When using a rate schedule, if you provide a start date that occurs in the + // past, the current date and time are used as the start date. StartDate *string `type:"string"` // Optional metadata that you assign to a resource. Tags enable you to categorize @@ -27498,6 +27675,147 @@ func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *De return s } +type DescribeInstancePropertiesInput struct { + _ struct{} `type:"structure"` + + // The request filters to use with the operator. + FiltersWithOperator []*InstancePropertyStringFilter `min:"1" type:"list"` + + // An array of instance property filters. + InstancePropertyFilterList []*InstancePropertyFilter `min:"1" type:"list"` + + // The maximum number of items to return for the call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"5" type:"integer"` + + // The token provided by a previous request to use to return the next set of + // properties. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInstancePropertiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInstancePropertiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstancePropertiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePropertiesInput"} + if s.FiltersWithOperator != nil && len(s.FiltersWithOperator) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FiltersWithOperator", 1)) + } + if s.InstancePropertyFilterList != nil && len(s.InstancePropertyFilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstancePropertyFilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.FiltersWithOperator != nil { + for i, v := range s.FiltersWithOperator { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FiltersWithOperator", i), err.(request.ErrInvalidParams)) + } + } + } + if s.InstancePropertyFilterList != nil { + for i, v := range s.InstancePropertyFilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstancePropertyFilterList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFiltersWithOperator sets the FiltersWithOperator field's value. +func (s *DescribeInstancePropertiesInput) SetFiltersWithOperator(v []*InstancePropertyStringFilter) *DescribeInstancePropertiesInput { + s.FiltersWithOperator = v + return s +} + +// SetInstancePropertyFilterList sets the InstancePropertyFilterList field's value. +func (s *DescribeInstancePropertiesInput) SetInstancePropertyFilterList(v []*InstancePropertyFilter) *DescribeInstancePropertiesInput { + s.InstancePropertyFilterList = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInstancePropertiesInput) SetMaxResults(v int64) *DescribeInstancePropertiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstancePropertiesInput) SetNextToken(v string) *DescribeInstancePropertiesInput { + s.NextToken = &v + return s +} + +type DescribeInstancePropertiesOutput struct { + _ struct{} `type:"structure"` + + // Properties for the managed instances. + InstanceProperties []*InstanceProperty `type:"list"` + + // The token for the next set of properties to return. Use this token to get + // the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInstancePropertiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInstancePropertiesOutput) GoString() string { + return s.String() +} + +// SetInstanceProperties sets the InstanceProperties field's value. +func (s *DescribeInstancePropertiesOutput) SetInstanceProperties(v []*InstanceProperty) *DescribeInstancePropertiesOutput { + s.InstanceProperties = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstancePropertiesOutput) SetNextToken(v string) *DescribeInstancePropertiesOutput { + s.NextToken = &v + return s +} + type DescribeInventoryDeletionsInput struct { _ struct{} `type:"structure"` @@ -34987,7 +35305,10 @@ type GetParametersInput struct { // To query by parameter label, use "Name": "name:label". To query by parameter // version, use "Name": "name:version". // - // For more information about shared parameters, see Working with shared parameters + // The results for GetParameters requests are listed in alphabetical order in + // query responses. + // + // For information about shared parameters, see Working with shared parameters // (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html) // in the Amazon Web Services Systems Manager User Guide. // @@ -37057,6 +37378,410 @@ func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFil return s } +// An object containing various properties of a managed node. +type InstanceProperty struct { + _ struct{} `type:"structure"` + + // The activation ID created by Systems Manager when the server or virtual machine + // (VM) was registered + ActivationId *string `type:"string"` + + // The version of SSM Agent running on your managed node. + AgentVersion *string `type:"string"` + + // The CPU architecture of the node. For example, x86_64. + Architecture *string `type:"string"` + + // Status information about the aggregated associations. + AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"` + + // The status of the State Manager association applied to the managed node. + AssociationStatus *string `type:"string"` + + // The fully qualified host name of the managed node. + ComputerName *string `min:"1" type:"string"` + + // The public IPv4 address assigned to the node. If a public IPv4 address isn't + // assigned to the node, this value is blank. + IPAddress *string `min:"1" type:"string"` + + // The IAM role used in the hybrid activation to register the node with Systems + // Manager. + IamRole *string `type:"string"` + + // The ID of the managed node. + InstanceId *string `type:"string"` + + // The instance profile attached to the node. If an instance profile isn't attached + // to the node, this value is blank. + InstanceRole *string `type:"string"` + + // The current state of the node. + InstanceState *string `type:"string"` + + // The instance type of the managed node. For example, t3.large. + InstanceType *string `type:"string"` + + // The name of the key pair associated with the node. If a key pair isnt't associated + // with the node, this value is blank. + KeyName *string `type:"string"` + + // The date the association was last run. + LastAssociationExecutionDate *time.Time `type:"timestamp"` + + // The date and time when the SSM Agent last pinged the Systems Manager service. + LastPingDateTime *time.Time `type:"timestamp"` + + // The last date the association was successfully run. + LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"` + + // The timestamp for when the node was launched. + LaunchTime *time.Time `type:"timestamp"` + + // The value of the EC2 Name tag associated with the node. If a Name tag hasn't + // been applied to the node, this value is blank. + Name *string `type:"string"` + + // Connection status of the SSM Agent on the managed node. + PingStatus *string `type:"string" enum:"PingStatus"` + + // The name of the operating system platform running on your managed node. + PlatformName *string `type:"string"` + + // The operating system platform type of the managed node. For example, Windows. + PlatformType *string `type:"string" enum:"PlatformType"` + + // The version of the OS platform running on your managed node. + PlatformVersion *string `type:"string"` + + // The date the node was registered with Systems Manager. + RegistrationDate *time.Time `type:"timestamp"` + + // The type of managed node. + ResourceType *string `type:"string"` + + // The ID of the source resource. + SourceId *string `type:"string"` + + // The type of the source resource. + SourceType *string `type:"string" enum:"SourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstanceProperty) GoString() string { + return s.String() +} + +// SetActivationId sets the ActivationId field's value. +func (s *InstanceProperty) SetActivationId(v string) *InstanceProperty { + s.ActivationId = &v + return s +} + +// SetAgentVersion sets the AgentVersion field's value. +func (s *InstanceProperty) SetAgentVersion(v string) *InstanceProperty { + s.AgentVersion = &v + return s +} + +// SetArchitecture sets the Architecture field's value. +func (s *InstanceProperty) SetArchitecture(v string) *InstanceProperty { + s.Architecture = &v + return s +} + +// SetAssociationOverview sets the AssociationOverview field's value. +func (s *InstanceProperty) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceProperty { + s.AssociationOverview = v + return s +} + +// SetAssociationStatus sets the AssociationStatus field's value. +func (s *InstanceProperty) SetAssociationStatus(v string) *InstanceProperty { + s.AssociationStatus = &v + return s +} + +// SetComputerName sets the ComputerName field's value. +func (s *InstanceProperty) SetComputerName(v string) *InstanceProperty { + s.ComputerName = &v + return s +} + +// SetIPAddress sets the IPAddress field's value. +func (s *InstanceProperty) SetIPAddress(v string) *InstanceProperty { + s.IPAddress = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *InstanceProperty) SetIamRole(v string) *InstanceProperty { + s.IamRole = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceProperty) SetInstanceId(v string) *InstanceProperty { + s.InstanceId = &v + return s +} + +// SetInstanceRole sets the InstanceRole field's value. +func (s *InstanceProperty) SetInstanceRole(v string) *InstanceProperty { + s.InstanceRole = &v + return s +} + +// SetInstanceState sets the InstanceState field's value. +func (s *InstanceProperty) SetInstanceState(v string) *InstanceProperty { + s.InstanceState = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *InstanceProperty) SetInstanceType(v string) *InstanceProperty { + s.InstanceType = &v + return s +} + +// SetKeyName sets the KeyName field's value. +func (s *InstanceProperty) SetKeyName(v string) *InstanceProperty { + s.KeyName = &v + return s +} + +// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value. +func (s *InstanceProperty) SetLastAssociationExecutionDate(v time.Time) *InstanceProperty { + s.LastAssociationExecutionDate = &v + return s +} + +// SetLastPingDateTime sets the LastPingDateTime field's value. +func (s *InstanceProperty) SetLastPingDateTime(v time.Time) *InstanceProperty { + s.LastPingDateTime = &v + return s +} + +// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value. +func (s *InstanceProperty) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceProperty { + s.LastSuccessfulAssociationExecutionDate = &v + return s +} + +// SetLaunchTime sets the LaunchTime field's value. +func (s *InstanceProperty) SetLaunchTime(v time.Time) *InstanceProperty { + s.LaunchTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *InstanceProperty) SetName(v string) *InstanceProperty { + s.Name = &v + return s +} + +// SetPingStatus sets the PingStatus field's value. +func (s *InstanceProperty) SetPingStatus(v string) *InstanceProperty { + s.PingStatus = &v + return s +} + +// SetPlatformName sets the PlatformName field's value. +func (s *InstanceProperty) SetPlatformName(v string) *InstanceProperty { + s.PlatformName = &v + return s +} + +// SetPlatformType sets the PlatformType field's value. +func (s *InstanceProperty) SetPlatformType(v string) *InstanceProperty { + s.PlatformType = &v + return s +} + +// SetPlatformVersion sets the PlatformVersion field's value. +func (s *InstanceProperty) SetPlatformVersion(v string) *InstanceProperty { + s.PlatformVersion = &v + return s +} + +// SetRegistrationDate sets the RegistrationDate field's value. +func (s *InstanceProperty) SetRegistrationDate(v time.Time) *InstanceProperty { + s.RegistrationDate = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *InstanceProperty) SetResourceType(v string) *InstanceProperty { + s.ResourceType = &v + return s +} + +// SetSourceId sets the SourceId field's value. +func (s *InstanceProperty) SetSourceId(v string) *InstanceProperty { + s.SourceId = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *InstanceProperty) SetSourceType(v string) *InstanceProperty { + s.SourceType = &v + return s +} + +// Describes a filter for a specific list of managed nodes. You can filter node +// information by using tags. You specify tags by using a key-value mapping. +type InstancePropertyFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true" enum:"InstancePropertyFilterKey"` + + // The filter values. + // + // ValueSet is a required field + ValueSet []*string `locationName:"valueSet" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancePropertyFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancePropertyFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstancePropertyFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstancePropertyFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.ValueSet == nil { + invalidParams.Add(request.NewErrParamRequired("ValueSet")) + } + if s.ValueSet != nil && len(s.ValueSet) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *InstancePropertyFilter) SetKey(v string) *InstancePropertyFilter { + s.Key = &v + return s +} + +// SetValueSet sets the ValueSet field's value. +func (s *InstancePropertyFilter) SetValueSet(v []*string) *InstancePropertyFilter { + s.ValueSet = v + return s +} + +// The filters to describe or get information about your managed nodes. +type InstancePropertyStringFilter struct { + _ struct{} `type:"structure"` + + // The filter key name to describe your managed nodes. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The operator used by the filter call. + Operator *string `type:"string" enum:"InstancePropertyFilterOperator"` + + // The filter key name to describe your managed nodes. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancePropertyStringFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InstancePropertyStringFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstancePropertyStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstancePropertyStringFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *InstancePropertyStringFilter) SetKey(v string) *InstancePropertyStringFilter { + s.Key = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *InstancePropertyStringFilter) SetOperator(v string) *InstancePropertyStringFilter { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *InstancePropertyStringFilter) SetValues(v []*string) *InstancePropertyStringFilter { + s.Values = v + return s +} + // An error occurred on the server side. type InternalServerError struct { _ struct{} `type:"structure"` @@ -38688,6 +39413,70 @@ func (s *InvalidInstanceInformationFilterValue) RequestID() string { return s.RespMetadata.RequestID } +// The specified filter value isn't valid. +type InvalidInstancePropertyFilterValue struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidInstancePropertyFilterValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidInstancePropertyFilterValue) GoString() string { + return s.String() +} + +func newErrorInvalidInstancePropertyFilterValue(v protocol.ResponseMetadata) error { + return &InvalidInstancePropertyFilterValue{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidInstancePropertyFilterValue) Code() string { + return "InvalidInstancePropertyFilterValue" +} + +// Message returns the exception's message. +func (s *InvalidInstancePropertyFilterValue) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInstancePropertyFilterValue) OrigErr() error { + return nil +} + +func (s *InvalidInstancePropertyFilterValue) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidInstancePropertyFilterValue) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidInstancePropertyFilterValue) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified inventory group isn't valid. type InvalidInventoryGroupException struct { _ struct{} `type:"structure"` @@ -51398,13 +52187,16 @@ type RegisterTaskWithMaintenanceWindowInput struct { // The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services // Systems Manager to assume when running a maintenance window task. If you - // do not specify a service role ARN, Systems Manager uses your account's service-linked - // role. If no service-linked role for Systems Manager exists in your account, - // it is created when you run RegisterTaskWithMaintenanceWindow. - // - // For more information, see Using service-linked roles for Systems Manager - // (https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions) - // in the in the Amazon Web Services Systems Manager User Guide: + // do not specify a service role ARN, Systems Manager uses a service-linked + // role in your account. If no appropriate service-linked role for Systems Manager + // exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow. + // + // However, for an improved security posture, we strongly recommend creating + // a custom policy and custom service role for running your maintenance window + // tasks. The policy can be crafted to provide only the permissions needed for + // your particular maintenance window tasks. For more information, see Setting + // up maintenance windows (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) + // in the in the Amazon Web Services Systems Manager User Guide. ServiceRoleArn *string `type:"string"` // The targets (either managed nodes or maintenance window targets). @@ -56388,39 +57180,39 @@ func (s *Tag) SetValue(v string) *Tag { // // Supported formats include the following. // -// - Key=InstanceIds,Values=,, +// For all Systems Manager capabilities: +// +// - Key=tag-key,Values=tag-value-1,tag-value-2 // -// - Key=tag:,Values=, +// For Automation and Change Manager: // -// - Key=tag-key,Values=, +// - Key=tag:tag-key,Values=tag-value // -// - Run Command and Maintenance window targets only: Key=resource-groups:Name,Values= +// - Key=ResourceGroup,Values=resource-group-name // -// - Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=, +// - Key=ParameterValues,Values=value-1,value-2,value-3 // -// - Automation targets only: Key=ResourceGroup;Values= +// - To target all instances in the Amazon Web Services Region: Key=AWS::EC2::Instance,Values=* +// Key=InstanceIds,Values=* // -// For example: +// For Run Command and Maintenance Windows: // -// - Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE +// - Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3 // -// - Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3 +// - Key=tag:tag-key,Values=tag-value-1,tag-value-2 // -// - Key=tag-key,Values=Name,Instance-Type,CostCenter +// - Key=resource-groups:Name,Values=resource-group-name // -// - Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=ProductionResourceGroup -// This example demonstrates how to target all resources in the resource -// group ProductionResourceGroup in your maintenance window. +// - Additionally, Maintenance Windows support targeting resource types: +// Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 // -// - Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC -// This example demonstrates how to target only Amazon Elastic Compute Cloud -// (Amazon EC2) instances and VPCs in your maintenance window. +// For State Manager: // -// - Automation targets only: Key=ResourceGroup,Values=MyResourceGroup +// - Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3 // -// - State Manager association targets only: Key=InstanceIds,Values=* This -// example demonstrates how to target all managed instances in the Amazon -// Web Services Region where the association was created. +// - Key=tag:tag-key,Values=tag-value-1,tag-value-2 +// +// - To target all instances in the Amazon Web Services Region: Key=InstanceIds,Values=* // // For more information about how to send commands that target managed nodes // using Key,Value parameters, see Targeting multiple managed nodes (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) @@ -58540,6 +59332,9 @@ type UpdateMaintenanceWindowInput struct { // The date and time, in ISO-8601 Extended format, for when you want the maintenance // window to become active. StartDate allows you to delay activation of the // maintenance window until the specified future date. + // + // When using a rate schedule, if you provide a start date that occurs in the + // past, the current date and time are used as the start date. StartDate *string `type:"string"` // The ID of the maintenance window to update. @@ -59119,13 +59914,16 @@ type UpdateMaintenanceWindowTaskInput struct { // The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services // Systems Manager to assume when running a maintenance window task. If you - // do not specify a service role ARN, Systems Manager uses your account's service-linked - // role. If no service-linked role for Systems Manager exists in your account, - // it is created when you run RegisterTaskWithMaintenanceWindow. - // - // For more information, see Using service-linked roles for Systems Manager - // (https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions) - // in the in the Amazon Web Services Systems Manager User Guide: + // do not specify a service role ARN, Systems Manager uses a service-linked + // role in your account. If no appropriate service-linked role for Systems Manager + // exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow. + // + // However, for an improved security posture, we strongly recommend creating + // a custom policy and custom service role for running your maintenance window + // tasks. The policy can be crafted to provide only the permissions needed for + // your particular maintenance window tasks. For more information, see Setting + // up maintenance windows (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) + // in the in the Amazon Web Services Systems Manager User Guide. ServiceRoleArn *string `type:"string"` // The targets (either managed nodes or tags) to modify. Managed nodes are specified @@ -61603,6 +62401,78 @@ func InstancePatchStateOperatorType_Values() []string { } } +const ( + // InstancePropertyFilterKeyInstanceIds is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyInstanceIds = "InstanceIds" + + // InstancePropertyFilterKeyAgentVersion is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyAgentVersion = "AgentVersion" + + // InstancePropertyFilterKeyPingStatus is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyPingStatus = "PingStatus" + + // InstancePropertyFilterKeyPlatformTypes is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyPlatformTypes = "PlatformTypes" + + // InstancePropertyFilterKeyDocumentName is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyDocumentName = "DocumentName" + + // InstancePropertyFilterKeyActivationIds is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyActivationIds = "ActivationIds" + + // InstancePropertyFilterKeyIamRole is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyIamRole = "IamRole" + + // InstancePropertyFilterKeyResourceType is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyResourceType = "ResourceType" + + // InstancePropertyFilterKeyAssociationStatus is a InstancePropertyFilterKey enum value + InstancePropertyFilterKeyAssociationStatus = "AssociationStatus" +) + +// InstancePropertyFilterKey_Values returns all elements of the InstancePropertyFilterKey enum +func InstancePropertyFilterKey_Values() []string { + return []string{ + InstancePropertyFilterKeyInstanceIds, + InstancePropertyFilterKeyAgentVersion, + InstancePropertyFilterKeyPingStatus, + InstancePropertyFilterKeyPlatformTypes, + InstancePropertyFilterKeyDocumentName, + InstancePropertyFilterKeyActivationIds, + InstancePropertyFilterKeyIamRole, + InstancePropertyFilterKeyResourceType, + InstancePropertyFilterKeyAssociationStatus, + } +} + +const ( + // InstancePropertyFilterOperatorEqual is a InstancePropertyFilterOperator enum value + InstancePropertyFilterOperatorEqual = "Equal" + + // InstancePropertyFilterOperatorNotEqual is a InstancePropertyFilterOperator enum value + InstancePropertyFilterOperatorNotEqual = "NotEqual" + + // InstancePropertyFilterOperatorBeginWith is a InstancePropertyFilterOperator enum value + InstancePropertyFilterOperatorBeginWith = "BeginWith" + + // InstancePropertyFilterOperatorLessThan is a InstancePropertyFilterOperator enum value + InstancePropertyFilterOperatorLessThan = "LessThan" + + // InstancePropertyFilterOperatorGreaterThan is a InstancePropertyFilterOperator enum value + InstancePropertyFilterOperatorGreaterThan = "GreaterThan" +) + +// InstancePropertyFilterOperator_Values returns all elements of the InstancePropertyFilterOperator enum +func InstancePropertyFilterOperator_Values() []string { + return []string{ + InstancePropertyFilterOperatorEqual, + InstancePropertyFilterOperatorNotEqual, + InstancePropertyFilterOperatorBeginWith, + InstancePropertyFilterOperatorLessThan, + InstancePropertyFilterOperatorGreaterThan, + } +} + const ( // InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value InventoryAttributeDataTypeString = "string" diff --git a/service/ssm/errors.go b/service/ssm/errors.go index 7029a44239c..c574051f4be 100644 --- a/service/ssm/errors.go +++ b/service/ssm/errors.go @@ -384,6 +384,12 @@ const ( // The specified filter value isn't valid. ErrCodeInvalidInstanceInformationFilterValue = "InvalidInstanceInformationFilterValue" + // ErrCodeInvalidInstancePropertyFilterValue for service response error code + // "InvalidInstancePropertyFilterValue". + // + // The specified filter value isn't valid. + ErrCodeInvalidInstancePropertyFilterValue = "InvalidInstancePropertyFilterValue" + // ErrCodeInvalidInventoryGroupException for service response error code // "InvalidInventoryGroupException". // @@ -991,6 +997,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidFilterValue": newErrorInvalidFilterValue, "InvalidInstanceId": newErrorInvalidInstanceId, "InvalidInstanceInformationFilterValue": newErrorInvalidInstanceInformationFilterValue, + "InvalidInstancePropertyFilterValue": newErrorInvalidInstancePropertyFilterValue, "InvalidInventoryGroupException": newErrorInvalidInventoryGroupException, "InvalidInventoryItemContextException": newErrorInvalidInventoryItemContextException, "InvalidInventoryRequestException": newErrorInvalidInventoryRequestException, diff --git a/service/ssm/ssmiface/interface.go b/service/ssm/ssmiface/interface.go index ad6a6e7fd94..b9c8784f250 100644 --- a/service/ssm/ssmiface/interface.go +++ b/service/ssm/ssmiface/interface.go @@ -279,6 +279,13 @@ type SSMAPI interface { DescribeInstancePatchesPages(*ssm.DescribeInstancePatchesInput, func(*ssm.DescribeInstancePatchesOutput, bool) bool) error DescribeInstancePatchesPagesWithContext(aws.Context, *ssm.DescribeInstancePatchesInput, func(*ssm.DescribeInstancePatchesOutput, bool) bool, ...request.Option) error + DescribeInstanceProperties(*ssm.DescribeInstancePropertiesInput) (*ssm.DescribeInstancePropertiesOutput, error) + DescribeInstancePropertiesWithContext(aws.Context, *ssm.DescribeInstancePropertiesInput, ...request.Option) (*ssm.DescribeInstancePropertiesOutput, error) + DescribeInstancePropertiesRequest(*ssm.DescribeInstancePropertiesInput) (*request.Request, *ssm.DescribeInstancePropertiesOutput) + + DescribeInstancePropertiesPages(*ssm.DescribeInstancePropertiesInput, func(*ssm.DescribeInstancePropertiesOutput, bool) bool) error + DescribeInstancePropertiesPagesWithContext(aws.Context, *ssm.DescribeInstancePropertiesInput, func(*ssm.DescribeInstancePropertiesOutput, bool) bool, ...request.Option) error + DescribeInventoryDeletions(*ssm.DescribeInventoryDeletionsInput) (*ssm.DescribeInventoryDeletionsOutput, error) DescribeInventoryDeletionsWithContext(aws.Context, *ssm.DescribeInventoryDeletionsInput, ...request.Option) (*ssm.DescribeInventoryDeletionsOutput, error) DescribeInventoryDeletionsRequest(*ssm.DescribeInventoryDeletionsInput) (*request.Request, *ssm.DescribeInventoryDeletionsOutput)