diff --git a/CHANGELOG.md b/CHANGELOG.md index 4956654b53b..9b95019919d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.44.24 (2022-05-27) +=== + +### Service Client Updates +* `service/appflow`: Updates service API and documentation +* `service/datasync`: Updates service API, documentation, and paginators +* `service/emr-serverless`: Adds new service +* `service/sagemaker`: Updates service API and documentation + * Amazon SageMaker Notebook Instances now allows configuration of Instance Metadata Service version and Amazon SageMaker Studio now supports G5 instance types. + Release v1.44.23 (2022-05-26) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index a4fa6e67c0b..40db8fd32fd 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -3147,6 +3147,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -14905,6 +14908,14 @@ var awsPartition = partition{ Region: "ap-northeast-2", }, }, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{ + Hostname: "oidc.ap-northeast-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-3", + }, + }, endpointKey{ Region: "ap-south-1", }: endpoint{ diff --git a/aws/version.go b/aws/version.go index 47386c4c985..6ef78c5c6ae 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.44.23" +const SDKVersion = "1.44.24" diff --git a/models/apis/appflow/2020-08-23/api-2.json b/models/apis/appflow/2020-08-23/api-2.json index 6baf4b1f2db..f1a387828f9 100644 --- a/models/apis/appflow/2020-08-23/api-2.json +++ b/models/apis/appflow/2020-08-23/api-2.json @@ -362,7 +362,7 @@ }, "AccessToken":{ "type":"string", - "max":2048, + "max":4096, "pattern":"\\S+", "sensitive":true }, @@ -1582,6 +1582,11 @@ "max":2048, "pattern":"[\\w!@#\\-.?,\\s]*" }, + "FlowErrorDeactivationThreshold":{ + "type":"integer", + "max":100, + "min":1 + }, "FlowExecutionList":{ "type":"list", "member":{"shape":"ExecutionRecord"} @@ -1765,6 +1770,7 @@ "error":{"httpStatusCode":500}, "exception":true }, + "JavaBoolean":{"type":"boolean"}, "KMSArn":{ "type":"string", "max":2048, @@ -2282,7 +2288,7 @@ }, "RefreshToken":{ "type":"string", - "max":1024, + "max":2048, "pattern":"\\S+" }, "Region":{ @@ -2384,7 +2390,8 @@ "members":{ "fileType":{"shape":"FileType"}, "prefixConfig":{"shape":"PrefixConfig"}, - "aggregationConfig":{"shape":"AggregationConfig"} + "aggregationConfig":{"shape":"AggregationConfig"}, + "preserveSourceDataTyping":{"shape":"JavaBoolean"} } }, "S3SourceProperties":{ @@ -2573,7 +2580,11 @@ "shape":"ScheduleOffset", "box":true }, - "firstExecutionFrom":{"shape":"Date"} + "firstExecutionFrom":{"shape":"Date"}, + "flowErrorDeactivationThreshold":{ + "shape":"FlowErrorDeactivationThreshold", + "box":true + } } }, "SchedulingFrequencyTypeList":{ diff --git a/models/apis/appflow/2020-08-23/docs-2.json b/models/apis/appflow/2020-08-23/docs-2.json index 464ebc31714..a0603e21934 100644 --- a/models/apis/appflow/2020-08-23/docs-2.json +++ b/models/apis/appflow/2020-08-23/docs-2.json @@ -2,12 +2,12 @@ "version": "2.0", "service": "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.

Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

Use the following links to get started on the Amazon AppFlow API:

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the Authorize Apps with OAuth documentation.

", "operations": { - "CreateConnectorProfile": "

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel.

", + "CreateConnectorProfile": "

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. In each connector profile that you create, you can provide the credentials and properties for only one connector.

", "CreateFlow": "

Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once.

", "DeleteConnectorProfile": "

Enables you to delete an existing connector profile.

", "DeleteFlow": "

Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time.

", "DescribeConnector": "

Describes the given custom connector registered in your Amazon Web Services account. This API can be used for custom connectors that are registered in your account and also for Amazon authored connectors.

", - "DescribeConnectorEntity": "

Provides details regarding the entity used with the connector, with a description of the data model for each entity.

", + "DescribeConnectorEntity": "

Provides details regarding the entity used with the connector, with a description of the data model for each field in that entity.

", "DescribeConnectorProfiles": "

Returns a list of connector-profile details matching the provided connector-profile names and connector-types. Both input lists are optional, and you can use them to filter the result.

If no names or connector-types are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.

", "DescribeConnectors": "

Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page.

", "DescribeFlow": "

Provides a description of the specified flow.

", @@ -813,8 +813,8 @@ "ExecutionRecord$dataPullEndTime": "

The timestamp that indicates the last new or updated record to be transferred in the flow run.

", "FlowDefinition$createdAt": "

Specifies when the flow was created.

", "FlowDefinition$lastUpdatedAt": "

Specifies when the flow was last updated.

", - "ScheduledTriggerProperties$scheduleStartTime": "

Specifies the scheduled start time for a schedule-triggered flow.

", - "ScheduledTriggerProperties$scheduleEndTime": "

Specifies the scheduled end time for a schedule-triggered flow.

", + "ScheduledTriggerProperties$scheduleStartTime": "

The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.

", + "ScheduledTriggerProperties$scheduleEndTime": "

The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.

", "ScheduledTriggerProperties$firstExecutionFrom": "

Specifies the date range for the records to import from the connector in the first flow run.

" } }, @@ -1145,6 +1145,12 @@ "UpdateFlowRequest$description": "

A description of the flow.

" } }, + "FlowErrorDeactivationThreshold": { + "base": null, + "refs": { + "ScheduledTriggerProperties$flowErrorDeactivationThreshold": "

Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.

" + } + }, "FlowExecutionList": { "base": null, "refs": { @@ -1319,6 +1325,12 @@ "refs": { } }, + "JavaBoolean": { + "base": null, + "refs": { + "S3OutputFormatConfig$preserveSourceDataTyping": "

If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.

" + } + }, "KMSArn": { "base": null, "refs": { @@ -2249,7 +2261,7 @@ "Timezone": { "base": null, "refs": { - "ScheduledTriggerProperties$timezone": "

Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.

" + "ScheduledTriggerProperties$timezone": "

Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.

If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST.

" } }, "TokenUrl": { diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 2fef8b262c2..253fc1ecfd0 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -648,7 +648,10 @@ "Subdirectory":{"shape":"EfsSubdirectory"}, "EfsFilesystemArn":{"shape":"EfsFilesystemArn"}, "Ec2Config":{"shape":"Ec2Config"}, - "Tags":{"shape":"InputTagList"} + "Tags":{"shape":"InputTagList"}, + "AccessPointArn":{"shape":"EfsAccessPointArn"}, + "FileSystemAccessRoleArn":{"shape":"IamRoleArn"}, + "InTransitEncryption":{"shape":"EfsInTransitEncryption"} } }, "CreateLocationEfsResponse":{ @@ -935,7 +938,10 @@ "LocationArn":{"shape":"LocationArn"}, "LocationUri":{"shape":"LocationUri"}, "Ec2Config":{"shape":"Ec2Config"}, - "CreationTime":{"shape":"Time"} + "CreationTime":{"shape":"Time"}, + "AccessPointArn":{"shape":"EfsAccessPointArn"}, + "FileSystemAccessRoleArn":{"shape":"IamRoleArn"}, + "InTransitEncryption":{"shape":"EfsInTransitEncryption"} } }, "DescribeLocationFsxLustreRequest":{ @@ -1173,11 +1179,23 @@ "max":128, "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$" }, + "EfsAccessPointArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]+:[0-9]{12}:access-point/fsap-[0-9a-f]{8,40}$" + }, "EfsFilesystemArn":{ "type":"string", "max":128, "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$" }, + "EfsInTransitEncryption":{ + "type":"string", + "enum":[ + "NONE", + "TLS1_2" + ] + }, "EfsSubdirectory":{ "type":"string", "max":4096, diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index ffa0e6bbc79..bd2e95e3a36 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -4,7 +4,7 @@ "operations": { "CancelTaskExecution": "

Cancels execution of a task.

When you cancel a task execution, the transfer of some files is abruptly interrupted. The contents of files that are transferred to the destination might be incomplete or inconsistent with the source files. However, if you start a new task execution on the same task and you allow the task execution to complete, file content on the destination is complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, DataSync successfully complete the transfer when you start the next task execution.

", "CreateAgent": "

Activates an DataSync agent that you have deployed on your host. The activation process associates your agent with your account. In the activation process, you specify information such as the Amazon Web Services Region that you want to activate the agent in. You activate the agent in the Amazon Web Services Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this Amazon Web Services Region.

You can activate the agent in a VPC (virtual private cloud) or provide the agent access to a VPC endpoint so you can run tasks without going over the public internet.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run.

Agents are automatically updated by Amazon Web Services on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

", - "CreateLocationEfs": "

Creates an endpoint for an Amazon EFS file system.

", + "CreateLocationEfs": "

Creates an endpoint for an Amazon EFS file system that DataSync can access for a transfer. For more information, see Creating a location for Amazon EFS.

", "CreateLocationFsxLustre": "

Creates an endpoint for an Amazon FSx for Lustre file system.

", "CreateLocationFsxOpenZfs": "

Creates an endpoint for an Amazon FSx for OpenZFS file system.

", "CreateLocationFsxWindows": "

Creates an endpoint for an Amazon FSx for Windows File Server file system.

", @@ -18,7 +18,7 @@ "DeleteLocation": "

Deletes the configuration of a location used by DataSync.

", "DeleteTask": "

Deletes a task.

", "DescribeAgent": "

Returns metadata such as the name, the network interfaces, and the status (that is, whether the agent is running or not) for an agent. To specify which agent to describe, use the Amazon Resource Name (ARN) of the agent in your request.

", - "DescribeLocationEfs": "

Returns metadata, such as the path information about an Amazon EFS location.

", + "DescribeLocationEfs": "

Returns metadata about your DataSync location for an Amazon EFS file system.

", "DescribeLocationFsxLustre": "

Returns metadata about an Amazon FSx for Lustre location, such as information about its path.

", "DescribeLocationFsxOpenZfs": "

Returns metadata about an Amazon FSx for OpenZFS location, such as information about its path.

", "DescribeLocationFsxWindows": "

Returns metadata about an Amazon FSx for Windows File Server location, such as information about its path.

", @@ -398,9 +398,9 @@ } }, "Ec2Config": { - "base": "

The subnet that DataSync uses to access target EFS file system. The subnet must have at least one mount target for that file system. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

", + "base": "

The subnet and security groups that DataSync uses to access your Amazon EFS file system.

", "refs": { - "CreateLocationEfsRequest$Ec2Config": "

The subnet and security group that the Amazon EFS file system uses. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

The exact relationship between security group M (of the mount target) and security group S (which you provide for DataSync to use at this stage) is as follows:

", + "CreateLocationEfsRequest$Ec2Config": "

Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.

", "DescribeLocationEfsResponse$Ec2Config": null } }, @@ -420,26 +420,40 @@ "DescribeLocationFsxLustreResponse$SecurityGroupArns": "

The Amazon Resource Names (ARNs) of the security groups that are configured for the FSx for Lustre file system.

", "DescribeLocationFsxOpenZfsResponse$SecurityGroupArns": "

The ARNs of the security groups that are configured for the FSx for OpenZFS file system.

", "DescribeLocationFsxWindowsResponse$SecurityGroupArns": "

The Amazon Resource Names (ARNs) of the security groups that are configured for the FSx for Windows File Server file system.

", - "Ec2Config$SecurityGroupArns": "

The Amazon Resource Names (ARNs) of the security groups that are configured for the Amazon EC2 resource.

" + "Ec2Config$SecurityGroupArns": "

Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.

" } }, "Ec2SubnetArn": { "base": null, "refs": { - "Ec2Config$SubnetArn": "

The ARN of the subnet that DataSync uses to access the target EFS file system.

", + "Ec2Config$SubnetArn": "

Specifies the ARN of a subnet where DataSync creates the network interfaces for managing traffic during your transfer.

The subnet must be located:

You don't need to specify a subnet that includes a file system mount target.

", "PLSubnetArnList$member": null } }, + "EfsAccessPointArn": { + "base": null, + "refs": { + "CreateLocationEfsRequest$AccessPointArn": "

Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.

", + "DescribeLocationEfsResponse$AccessPointArn": "

The ARN of the access point that DataSync uses to access the Amazon EFS file system.

" + } + }, "EfsFilesystemArn": { "base": null, "refs": { - "CreateLocationEfsRequest$EfsFilesystemArn": "

The Amazon Resource Name (ARN) for the Amazon EFS file system.

" + "CreateLocationEfsRequest$EfsFilesystemArn": "

Specifies the ARN for the Amazon EFS file system.

" + } + }, + "EfsInTransitEncryption": { + "base": null, + "refs": { + "CreateLocationEfsRequest$InTransitEncryption": "

Specifies whether you want DataSync to use TLS encryption when transferring data to or from your Amazon EFS file system.

If you specify an access point using AccessPointArn or an IAM role using FileSystemAccessRoleArn, you must set this parameter to TLS1_2.

", + "DescribeLocationEfsResponse$InTransitEncryption": "

Whether DataSync uses TLS encryption when transferring data to or from your Amazon EFS file system.

" } }, "EfsSubdirectory": { "base": null, "refs": { - "CreateLocationEfsRequest$Subdirectory": "

A subdirectory in the location’s path. This subdirectory in the EFS file system is used to read data from the EFS source location or write data to the EFS destination. By default, DataSync uses the root directory.

Subdirectory must be specified with forward slashes. For example, /path/to/folder.

" + "CreateLocationEfsRequest$Subdirectory": "

Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories.

You must specify a value with forward slashes (for example, /path/to/folder).

" } }, "Endpoint": { @@ -625,6 +639,8 @@ "IamRoleArn": { "base": null, "refs": { + "CreateLocationEfsRequest$FileSystemAccessRoleArn": "

Specifies an Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

", + "DescribeLocationEfsResponse$FileSystemAccessRoleArn": "

The Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

", "S3Config$BucketAccessRoleArn": "

The ARN of the IAM role for accessing the S3 bucket.

" } }, @@ -632,7 +648,7 @@ "base": null, "refs": { "CreateAgentRequest$Tags": "

The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

", - "CreateLocationEfsRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", + "CreateLocationEfsRequest$Tags": "

Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxLustreRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxOpenZfsRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxWindowsRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", @@ -738,7 +754,7 @@ "LocationArn": { "base": null, "refs": { - "CreateLocationEfsResponse$LocationArn": "

The Amazon Resource Name (ARN) of the Amazon EFS file system location that is created.

", + "CreateLocationEfsResponse$LocationArn": "

The Amazon Resource Name (ARN) of the Amazon EFS file system location that you create.

", "CreateLocationFsxLustreResponse$LocationArn": "

The Amazon Resource Name (ARN) of the FSx for Lustre file system location that's created.

", "CreateLocationFsxOpenZfsResponse$LocationArn": "

The ARN of the FSx for OpenZFS file system location that you created.

", "CreateLocationFsxWindowsResponse$LocationArn": "

The Amazon Resource Name (ARN) of the FSx for Windows File Server file system location you created.

", @@ -750,8 +766,8 @@ "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.

", "DeleteLocationRequest$LocationArn": "

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

", - "DescribeLocationEfsRequest$LocationArn": "

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

", - "DescribeLocationEfsResponse$LocationArn": "

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

", + "DescribeLocationEfsRequest$LocationArn": "

The Amazon Resource Name (ARN) of the Amazon EFS file system location that you want information about.

", + "DescribeLocationEfsResponse$LocationArn": "

The ARN of the Amazon EFS file system location.

", "DescribeLocationFsxLustreRequest$LocationArn": "

The Amazon Resource Name (ARN) of the FSx for Lustre location to describe.

", "DescribeLocationFsxLustreResponse$LocationArn": "

The Amazon Resource Name (ARN) of the FSx for Lustre location that was described.

", "DescribeLocationFsxOpenZfsRequest$LocationArn": "

The Amazon Resource Name (ARN) of the FSx for OpenZFS location to describe.

", @@ -810,7 +826,7 @@ "LocationUri": { "base": null, "refs": { - "DescribeLocationEfsResponse$LocationUri": "

The URL of the EFS location that was described.

", + "DescribeLocationEfsResponse$LocationUri": "

The URL of the Amazon EFS file system location.

", "DescribeLocationFsxLustreResponse$LocationUri": "

The URI of the FSx for Lustre location that was described.

", "DescribeLocationFsxOpenZfsResponse$LocationUri": "

The uniform resource identifier (URI) of the FSx for OpenZFS location that was described.

Example: fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder

", "DescribeLocationFsxWindowsResponse$LocationUri": "

The URL of the FSx for Windows File Server location that was described.

", @@ -1302,7 +1318,7 @@ "refs": { "DescribeAgentResponse$LastConnectionTime": "

The time that the agent last connected to DataSync.

", "DescribeAgentResponse$CreationTime": "

The time that the agent was activated (that is, created in your account).

", - "DescribeLocationEfsResponse$CreationTime": "

The time that the EFS location was created.

", + "DescribeLocationEfsResponse$CreationTime": "

The time that the location was created.

", "DescribeLocationFsxLustreResponse$CreationTime": "

The time that the FSx for Lustre location was created.

", "DescribeLocationFsxOpenZfsResponse$CreationTime": "

The time that the FSx for OpenZFS location was created.

", "DescribeLocationFsxWindowsResponse$CreationTime": "

The time that the FSx for Windows File Server location was created.

", diff --git a/models/apis/datasync/2018-11-09/paginators-1.json b/models/apis/datasync/2018-11-09/paginators-1.json index 47fbeb7556c..53de34f21c8 100644 --- a/models/apis/datasync/2018-11-09/paginators-1.json +++ b/models/apis/datasync/2018-11-09/paginators-1.json @@ -3,27 +3,32 @@ "ListAgents": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Agents" }, "ListLocations": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Locations" }, "ListTagsForResource": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Tags" }, "ListTaskExecutions": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "TaskExecutions" }, "ListTasks": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Tasks" } } } diff --git a/models/apis/emr-serverless/2021-07-13/api-2.json b/models/apis/emr-serverless/2021-07-13/api-2.json new file mode 100644 index 00000000000..f35de7c1394 --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/api-2.json @@ -0,0 +1,1220 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-07-13", + "endpointPrefix":"emr-serverless", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"EMR Serverless", + "serviceId":"EMR Serverless", + "signatureVersion":"v4", + "signingName":"emr-serverless", + "uid":"emr-serverless-2021-07-13" + }, + "operations":{ + "CancelJobRun":{ + "name":"CancelJobRun", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}/jobruns/{jobRunId}", + "responseCode":200 + }, + "input":{"shape":"CancelJobRunRequest"}, + "output":{"shape":"CancelJobRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/applications", + "responseCode":200 + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}", + "responseCode":200 + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "GetApplication":{ + "name":"GetApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}", + "responseCode":200 + }, + "input":{"shape":"GetApplicationRequest"}, + "output":{"shape":"GetApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "GetJobRun":{ + "name":"GetJobRun", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/jobruns/{jobRunId}", + "responseCode":200 + }, + "input":{"shape":"GetJobRunRequest"}, + "output":{"shape":"GetJobRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/applications", + "responseCode":200 + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListJobRuns":{ + "name":"ListJobRuns", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/jobruns", + "responseCode":200 + }, + "input":{"shape":"ListJobRunsRequest"}, + "output":{"shape":"ListJobRunsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "StartApplication":{ + "name":"StartApplication", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/start", + "responseCode":200 + }, + "input":{"shape":"StartApplicationRequest"}, + "output":{"shape":"StartApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "StartJobRun":{ + "name":"StartJobRun", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/jobruns", + "responseCode":200 + }, + "input":{"shape":"StartJobRunRequest"}, + "output":{"shape":"StartJobRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "StopApplication":{ + "name":"StopApplication", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/stop", + "responseCode":200 + }, + "input":{"shape":"StopApplicationRequest"}, + "output":{"shape":"StopApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{applicationId}", + "responseCode":200 + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "Application":{ + "type":"structure", + "required":[ + "applicationId", + "arn", + "releaseLabel", + "type", + "state", + "createdAt", + "updatedAt" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "name":{"shape":"ApplicationName"}, + "arn":{"shape":"ApplicationArn"}, + "releaseLabel":{"shape":"ReleaseLabel"}, + "type":{"shape":"EngineType"}, + "state":{"shape":"ApplicationState"}, + "stateDetails":{"shape":"String256"}, + "initialCapacity":{"shape":"InitialCapacityConfigMap"}, + "maximumCapacity":{"shape":"MaximumAllowedResources"}, + "createdAt":{"shape":"Date"}, + "updatedAt":{"shape":"Date"}, + "tags":{"shape":"TagMap"}, + "autoStartConfiguration":{"shape":"AutoStartConfig"}, + "autoStopConfiguration":{"shape":"AutoStopConfig"}, + "networkConfiguration":{"shape":"NetworkConfiguration"} + } + }, + "ApplicationArn":{ + "type":"string", + "max":1024, + "min":60, + "pattern":"arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+" + }, + "ApplicationId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9a-z]+" + }, + "ApplicationList":{ + "type":"list", + "member":{"shape":"ApplicationSummary"} + }, + "ApplicationName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9._/#-]+" + }, + "ApplicationState":{ + "type":"string", + "enum":[ + "CREATING", + "CREATED", + "STARTING", + "STARTED", + "STOPPING", + "STOPPED", + "TERMINATED" + ] + }, + "ApplicationStateSet":{ + "type":"list", + "member":{"shape":"ApplicationState"}, + "max":7, + "min":1 + }, + "ApplicationSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "releaseLabel", + "type", + "state", + "createdAt", + "updatedAt" + ], + "members":{ + "id":{"shape":"ApplicationId"}, + "name":{"shape":"ApplicationName"}, + "arn":{"shape":"ApplicationArn"}, + "releaseLabel":{"shape":"ReleaseLabel"}, + "type":{"shape":"EngineType"}, + "state":{"shape":"ApplicationState"}, + "stateDetails":{"shape":"String256"}, + "createdAt":{"shape":"Date"}, + "updatedAt":{"shape":"Date"} + } + }, + "AutoStartConfig":{ + "type":"structure", + "members":{ + "enabled":{"shape":"Boolean"} + } + }, + "AutoStopConfig":{ + "type":"structure", + "members":{ + "enabled":{"shape":"Boolean"}, + "idleTimeoutMinutes":{ + "shape":"AutoStopConfigIdleTimeoutMinutesInteger", + "box":true + } + } + }, + "AutoStopConfigIdleTimeoutMinutesInteger":{ + "type":"integer", + "box":true, + "max":10080, + "min":1 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelJobRunRequest":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "jobRunId":{ + "shape":"JobRunId", + "location":"uri", + "locationName":"jobRunId" + } + } + }, + "CancelJobRunResponse":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "jobRunId":{"shape":"JobRunId"} + } + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9._-]+" + }, + "Configuration":{ + "type":"structure", + "required":["classification"], + "members":{ + "classification":{"shape":"String1024"}, + "properties":{"shape":"SensitivePropertiesMap"}, + "configurations":{"shape":"ConfigurationList"} + } + }, + "ConfigurationList":{ + "type":"list", + "member":{"shape":"Configuration"}, + "max":100, + "min":0 + }, + "ConfigurationOverrides":{ + "type":"structure", + "members":{ + "applicationConfiguration":{"shape":"ConfigurationList"}, + "monitoringConfiguration":{"shape":"MonitoringConfiguration"} + } + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String1024"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CpuSize":{ + "type":"string", + "max":15, + "min":1, + "pattern":"[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?" + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":[ + "releaseLabel", + "type", + "clientToken" + ], + "members":{ + "name":{"shape":"ApplicationName"}, + "releaseLabel":{"shape":"ReleaseLabel"}, + "type":{"shape":"EngineType"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "initialCapacity":{"shape":"InitialCapacityConfigMap"}, + "maximumCapacity":{"shape":"MaximumAllowedResources"}, + "tags":{"shape":"TagMap"}, + "autoStartConfiguration":{"shape":"AutoStartConfig"}, + "autoStopConfiguration":{"shape":"AutoStopConfig"}, + "networkConfiguration":{"shape":"NetworkConfiguration"} + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "required":[ + "applicationId", + "arn" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "name":{"shape":"ApplicationName"}, + "arn":{"shape":"ApplicationArn"} + } + }, + "Date":{"type":"timestamp"}, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DiskSize":{ + "type":"string", + "max":15, + "min":1, + "pattern":"[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)" + }, + "Double":{ + "type":"double", + "box":true + }, + "Duration":{ + "type":"long", + "max":1000000, + "min":0 + }, + "EncryptionKeyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+" + }, + "EngineType":{ + "type":"string", + "max":64, + "min":1 + }, + "EntryPointArgument":{ + "type":"string", + "max":10280, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "EntryPointArguments":{ + "type":"list", + "member":{"shape":"EntryPointArgument"} + }, + "EntryPointPath":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "GetApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "GetApplicationResponse":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{"shape":"Application"} + } + }, + "GetJobRunRequest":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "jobRunId":{ + "shape":"JobRunId", + "location":"uri", + "locationName":"jobRunId" + } + } + }, + "GetJobRunResponse":{ + "type":"structure", + "required":["jobRun"], + "members":{ + "jobRun":{"shape":"JobRun"} + } + }, + "Hive":{ + "type":"structure", + "required":["query"], + "members":{ + "query":{"shape":"Query"}, + "initQueryFile":{"shape":"InitScriptPath"}, + "parameters":{"shape":"HiveCliParameters"} + } + }, + "HiveCliParameters":{ + "type":"string", + "max":102400, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "IAMRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)" + }, + "InitScriptPath":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "InitialCapacityConfig":{ + "type":"structure", + "required":["workerCount"], + "members":{ + "workerCount":{"shape":"WorkerCounts"}, + "workerConfiguration":{"shape":"WorkerResourceConfig"} + } + }, + "InitialCapacityConfigMap":{ + "type":"map", + "key":{"shape":"WorkerTypeString"}, + "value":{"shape":"InitialCapacityConfig"}, + "max":10, + "min":0 + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String1024"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "JobArn":{ + "type":"string", + "max":1024, + "min":60, + "pattern":"arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+\\/jobruns\\/[0-9a-zA-Z]+" + }, + "JobDriver":{ + "type":"structure", + "members":{ + "sparkSubmit":{"shape":"SparkSubmit"}, + "hive":{"shape":"Hive"} + }, + "union":true + }, + "JobRun":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId", + "arn", + "createdBy", + "createdAt", + "updatedAt", + "executionRole", + "state", + "stateDetails", + "releaseLabel", + "jobDriver" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "jobRunId":{"shape":"JobRunId"}, + "name":{"shape":"String256"}, + "arn":{"shape":"JobArn"}, + "createdBy":{"shape":"RequestIdentityUserArn"}, + "createdAt":{"shape":"Date"}, + "updatedAt":{"shape":"Date"}, + "executionRole":{"shape":"IAMRoleArn"}, + "state":{"shape":"JobRunState"}, + "stateDetails":{"shape":"String256"}, + "releaseLabel":{"shape":"ReleaseLabel"}, + "configurationOverrides":{"shape":"ConfigurationOverrides"}, + "jobDriver":{"shape":"JobDriver"}, + "tags":{"shape":"TagMap"}, + "totalResourceUtilization":{"shape":"TotalResourceUtilization"}, + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "totalExecutionDurationSeconds":{"shape":"Integer"} + } + }, + "JobRunId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9a-z]+" + }, + "JobRunState":{ + "type":"string", + "enum":[ + "SUBMITTED", + "PENDING", + "SCHEDULED", + "RUNNING", + "SUCCESS", + "FAILED", + "CANCELLING", + "CANCELLED" + ] + }, + "JobRunStateSet":{ + "type":"list", + "member":{"shape":"JobRunState"}, + "max":8, + "min":0 + }, + "JobRunSummary":{ + "type":"structure", + "required":[ + "applicationId", + "id", + "arn", + "createdBy", + "createdAt", + "updatedAt", + "executionRole", + "state", + "stateDetails", + "releaseLabel" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "id":{"shape":"JobRunId"}, + "name":{"shape":"String256"}, + "arn":{"shape":"JobArn"}, + "createdBy":{"shape":"RequestIdentityUserArn"}, + "createdAt":{"shape":"Date"}, + "updatedAt":{"shape":"Date"}, + "executionRole":{"shape":"IAMRoleArn"}, + "state":{"shape":"JobRunState"}, + "stateDetails":{"shape":"String256"}, + "releaseLabel":{"shape":"ReleaseLabel"}, + "type":{"shape":"JobRunType"} + } + }, + "JobRunType":{"type":"string"}, + "JobRuns":{ + "type":"list", + "member":{"shape":"JobRunSummary"} + }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListApplicationsRequestMaxResultsInteger", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "states":{ + "shape":"ApplicationStateSet", + "location":"querystring", + "locationName":"states" + } + } + }, + "ListApplicationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListApplicationsResponse":{ + "type":"structure", + "required":["applications"], + "members":{ + "applications":{"shape":"ApplicationList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListJobRunsRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListJobRunsRequestMaxResultsInteger", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "createdAtAfter":{ + "shape":"Date", + "location":"querystring", + "locationName":"createdAtAfter" + }, + "createdAtBefore":{ + "shape":"Date", + "location":"querystring", + "locationName":"createdAtBefore" + }, + "states":{ + "shape":"JobRunStateSet", + "location":"querystring", + "locationName":"states" + } + } + }, + "ListJobRunsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListJobRunsResponse":{ + "type":"structure", + "required":["jobRuns"], + "members":{ + "jobRuns":{"shape":"JobRuns"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "ManagedPersistenceMonitoringConfiguration":{ + "type":"structure", + "members":{ + "enabled":{"shape":"Boolean"}, + "encryptionKeyArn":{"shape":"EncryptionKeyArn"} + } + }, + "MaximumAllowedResources":{ + "type":"structure", + "required":[ + "cpu", + "memory" + ], + "members":{ + "cpu":{"shape":"CpuSize"}, + "memory":{"shape":"MemorySize"}, + "disk":{"shape":"DiskSize"} + } + }, + "MemorySize":{ + "type":"string", + "max":15, + "min":1, + "pattern":"[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?" + }, + "MonitoringConfiguration":{ + "type":"structure", + "members":{ + "s3MonitoringConfiguration":{"shape":"S3MonitoringConfiguration"}, + "managedPersistenceMonitoringConfiguration":{"shape":"ManagedPersistenceMonitoringConfiguration"} + } + }, + "NetworkConfiguration":{ + "type":"structure", + "members":{ + "subnetIds":{"shape":"SubnetIds"}, + "securityGroupIds":{"shape":"SecurityGroupIds"} + } + }, + "NextToken":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[A-Za-z0-9_=-]+" + }, + "Query":{ + "type":"string", + "max":10280, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "ReleaseLabel":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9._/-]+" + }, + "RequestIdentityUserArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws[a-zA-Z0-9-]*):(iam|sts)::(\\d{12})?:[\\w/+=,.@-]+" + }, + "ResourceArn":{ + "type":"string", + "max":1024, + "min":60, + "pattern":"arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+(\\/jobruns\\/[0-9a-zA-Z]+)?" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String1024"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "S3MonitoringConfiguration":{ + "type":"structure", + "members":{ + "logUri":{"shape":"UriString"}, + "encryptionKeyArn":{"shape":"EncryptionKeyArn"} + } + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupString"}, + "max":5, + "min":0 + }, + "SecurityGroupString":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+.*" + }, + "SensitivePropertiesMap":{ + "type":"map", + "key":{"shape":"String1024"}, + "value":{"shape":"String1024"}, + "max":100, + "min":0, + "sensitive":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String1024"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SparkSubmit":{ + "type":"structure", + "required":["entryPoint"], + "members":{ + "entryPoint":{"shape":"EntryPointPath"}, + "entryPointArguments":{"shape":"EntryPointArguments"}, + "sparkSubmitParameters":{"shape":"SparkSubmitParameters"} + } + }, + "SparkSubmitParameters":{ + "type":"string", + "max":102400, + "min":1, + "pattern":".*\\S.*", + "sensitive":true + }, + "StartApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "StartApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "StartJobRunRequest":{ + "type":"structure", + "required":[ + "applicationId", + "clientToken", + "executionRoleArn" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "executionRoleArn":{"shape":"IAMRoleArn"}, + "jobDriver":{"shape":"JobDriver"}, + "configurationOverrides":{"shape":"ConfigurationOverrides"}, + "tags":{"shape":"TagMap"}, + "executionTimeoutMinutes":{ + "shape":"Duration", + "box":true + }, + "name":{"shape":"String256"} + } + }, + "StartJobRunResponse":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId", + "arn" + ], + "members":{ + "applicationId":{"shape":"ApplicationId"}, + "jobRunId":{"shape":"JobRunId"}, + "arn":{"shape":"JobArn"} + } + }, + "StopApplicationRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "StopApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "String1024":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "String256":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*\\S.*" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetString"}, + "max":16, + "min":0 + }, + "SubnetString":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+.*" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[A-Za-z0-9 /_.:=+@-]+" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[A-Za-z0-9 /_.:=+@-]*" + }, + "TotalResourceUtilization":{ + "type":"structure", + "members":{ + "vCPUHour":{"shape":"Double"}, + "memoryGBHour":{"shape":"Double"}, + "storageGBHour":{"shape":"Double"} + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":[ + "applicationId", + "clientToken" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "initialCapacity":{"shape":"InitialCapacityConfigMap"}, + "maximumCapacity":{"shape":"MaximumAllowedResources"}, + "autoStartConfiguration":{"shape":"AutoStartConfig"}, + "autoStopConfiguration":{"shape":"AutoStopConfig"}, + "networkConfiguration":{"shape":"NetworkConfiguration"} + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{"shape":"Application"} + } + }, + "UriString":{ + "type":"string", + "max":10280, + "min":1, + "pattern":".*[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*.*" + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String1024"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "WorkerCounts":{ + "type":"long", + "max":1000000, + "min":1 + }, + "WorkerResourceConfig":{ + "type":"structure", + "required":[ + "cpu", + "memory" + ], + "members":{ + "cpu":{"shape":"CpuSize"}, + "memory":{"shape":"MemorySize"}, + "disk":{"shape":"DiskSize"} + } + }, + "WorkerTypeString":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[a-zA-Z]+[-_]*[a-zA-Z]+" + } + } +} diff --git a/models/apis/emr-serverless/2021-07-13/docs-2.json b/models/apis/emr-serverless/2021-07-13/docs-2.json new file mode 100644 index 00000000000..df3a69f70d1 --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/docs-2.json @@ -0,0 +1,723 @@ +{ + "version": "2.0", + "service": "

Amazon EMR Serverless is a new deployment option for Amazon EMR. EMR Serverless provides a serverless runtime environment that simplifies running analytics applications using the latest open source frameworks such as Apache Spark and Apache Hive. With EMR Serverless, you don’t have to configure, optimize, secure, or operate clusters to run applications with these frameworks.

The API reference to Amazon EMR Serverless is emr-serverless. The emr-serverless prefix is used in the following scenarios:

", + "operations": { + "CancelJobRun": "

Cancels a job run.

", + "CreateApplication": "

Creates an application.

", + "DeleteApplication": "

Deletes an application. An application has to be in a stopped or created state in order to be deleted.

", + "GetApplication": "

Displays detailed information about a specified application.

", + "GetJobRun": "

Displays detailed information about a job run.

", + "ListApplications": "

Lists applications based on a set of parameters.

", + "ListJobRuns": "

Lists job runs based on a set of parameters.

", + "ListTagsForResource": "

Lists the tags assigned to the resources.

", + "StartApplication": "

Starts a specified application and initializes initial capacity if configured.

", + "StartJobRun": "

Starts a job run.

", + "StopApplication": "

Stops a specified application and releases initial capacity if configured. All scheduled and running jobs must be completed or cancelled before stopping an application.

", + "TagResource": "

Assigns tags to resources. A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize your AWS resources by attributes such as purpose, owner, or environment. When you have many resources of the same type, you can quickly identify a specific resource based on the tags you've assigned to it.

", + "UntagResource": "

Removes tags from resources.

", + "UpdateApplication": "

Updates a specified application. An application has to be in a stopped or created state in order to be updated.

" + }, + "shapes": { + "Application": { + "base": "

Information about an application. EMR Serverless uses applications to run jobs.

", + "refs": { + "GetApplicationResponse$application": "

The output displays information about the specified application.

", + "UpdateApplicationResponse$application": "

Information about the updated application.

" + } + }, + "ApplicationArn": { + "base": null, + "refs": { + "Application$arn": "

The ARN of the application.

", + "ApplicationSummary$arn": "

The ARN of the application.

", + "CreateApplicationResponse$arn": "

The output contains the ARN of the application.

" + } + }, + "ApplicationId": { + "base": null, + "refs": { + "Application$applicationId": "

The ID of the application.

", + "ApplicationSummary$id": "

The ID of the application.

", + "CancelJobRunRequest$applicationId": "

The ID of the application on which the job run will be canceled.

", + "CancelJobRunResponse$applicationId": "

The output contains the application ID on which the job run is cancelled.

", + "CreateApplicationResponse$applicationId": "

The output contains the application ID.

", + "DeleteApplicationRequest$applicationId": "

The ID of the application that will be deleted.

", + "GetApplicationRequest$applicationId": "

The ID of the application that will be described.

", + "GetJobRunRequest$applicationId": "

The ID of the application on which the job run is submitted.

", + "JobRun$applicationId": "

The ID of the application the job is running on.

", + "JobRunSummary$applicationId": "

The ID of the application the job is running on.

", + "ListJobRunsRequest$applicationId": "

The ID of the application for which to list the job run.

", + "StartApplicationRequest$applicationId": "

The ID of the application to start.

", + "StartJobRunRequest$applicationId": "

The ID of the application on which to run the job.

", + "StartJobRunResponse$applicationId": "

This output displays the application ID on which the job run was submitted.

", + "StopApplicationRequest$applicationId": "

The ID of the application to stop.

", + "UpdateApplicationRequest$applicationId": "

The ID of the application to update.

" + } + }, + "ApplicationList": { + "base": null, + "refs": { + "ListApplicationsResponse$applications": "

The output lists the specified applications.

" + } + }, + "ApplicationName": { + "base": null, + "refs": { + "Application$name": "

The name of the application.

", + "ApplicationSummary$name": "

The name of the application.

", + "CreateApplicationRequest$name": "

The name of the application.

", + "CreateApplicationResponse$name": "

The output contains the name of the application.

" + } + }, + "ApplicationState": { + "base": null, + "refs": { + "Application$state": "

The state of the application.

", + "ApplicationStateSet$member": null, + "ApplicationSummary$state": "

The state of the application.

" + } + }, + "ApplicationStateSet": { + "base": null, + "refs": { + "ListApplicationsRequest$states": "

An optional filter for application states. Note that if this filter contains multiple states, the resulting list will be grouped by the state.

" + } + }, + "ApplicationSummary": { + "base": "

The summary of attributes associated with an application.

", + "refs": { + "ApplicationList$member": null + } + }, + "AutoStartConfig": { + "base": "

The configuration for an application to automatically start on job submission.

", + "refs": { + "Application$autoStartConfiguration": "

The configuration for an application to automatically start on job submission.

", + "CreateApplicationRequest$autoStartConfiguration": "

The configuration for an application to automatically start on job submission.

", + "UpdateApplicationRequest$autoStartConfiguration": "

The configuration for an application to automatically start on job submission.

" + } + }, + "AutoStopConfig": { + "base": "

The configuration for an application to automatically stop after a certain amount of time being idle.

", + "refs": { + "Application$autoStopConfiguration": "

The configuration for an application to automatically stop after a certain amount of time being idle.

", + "CreateApplicationRequest$autoStopConfiguration": "

The configuration for an application to automatically stop after a certain amount of time being idle.

", + "UpdateApplicationRequest$autoStopConfiguration": "

The configuration for an application to automatically stop after a certain amount of time being idle.

" + } + }, + "AutoStopConfigIdleTimeoutMinutesInteger": { + "base": null, + "refs": { + "AutoStopConfig$idleTimeoutMinutes": "

The amount of idle time in minutes after which your application will automatically stop. Defaults to 15 minutes.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "AutoStartConfig$enabled": "

Enables the application to automatically start on job submission. Defaults to true.

", + "AutoStopConfig$enabled": "

Enables the application to automatically stop after a certain amount of time being idle. Defaults to true.

", + "ManagedPersistenceMonitoringConfiguration$enabled": "

Enables managed logging and defaults to true. If set to false, managed logging will be turned off.

" + } + }, + "CancelJobRunRequest": { + "base": null, + "refs": { + } + }, + "CancelJobRunResponse": { + "base": null, + "refs": { + } + }, + "ClientToken": { + "base": null, + "refs": { + "CreateApplicationRequest$clientToken": "

The client idempotency token of the application to create. Its value must be unique for each request.

", + "StartJobRunRequest$clientToken": "

The client idempotency token of the job run to start. Its value must be unique for each request.

", + "UpdateApplicationRequest$clientToken": "

The client idempotency token of the application to update. Its value must be unique for each request.

" + } + }, + "Configuration": { + "base": "

A configuration specification to be used when provisioning an application. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.

", + "refs": { + "ConfigurationList$member": null + } + }, + "ConfigurationList": { + "base": null, + "refs": { + "Configuration$configurations": "

A list of additional configurations to apply within a configuration object.

", + "ConfigurationOverrides$applicationConfiguration": "

The override configurations for the application.

" + } + }, + "ConfigurationOverrides": { + "base": "

A configuration specification to be used to override existing configurations.

", + "refs": { + "JobRun$configurationOverrides": "

The configuration settings that are used to override default configuration.

", + "StartJobRunRequest$configurationOverrides": "

The configuration overrides for the job run.

" + } + }, + "ConflictException": { + "base": "

The request could not be processed because of conflict in the current state of the resource.

", + "refs": { + } + }, + "CpuSize": { + "base": null, + "refs": { + "MaximumAllowedResources$cpu": "

The maximum allowed CPU for an application.

", + "WorkerResourceConfig$cpu": "

The CPU requirements for every worker instance of the worker type.

" + } + }, + "CreateApplicationRequest": { + "base": null, + "refs": { + } + }, + "CreateApplicationResponse": { + "base": null, + "refs": { + } + }, + "Date": { + "base": null, + "refs": { + "Application$createdAt": "

The date and time when the application run was created.

", + "Application$updatedAt": "

The date and time when the application run was last updated.

", + "ApplicationSummary$createdAt": "

The date and time when the application was created.

", + "ApplicationSummary$updatedAt": "

The date and time when the application was last updated.

", + "JobRun$createdAt": "

The date and time when the job run was created.

", + "JobRun$updatedAt": "

The date and time when the job run was updated.

", + "JobRunSummary$createdAt": "

The date and time when the job run was created.

", + "JobRunSummary$updatedAt": "

The date and time when the job run was last updated.

", + "ListJobRunsRequest$createdAtAfter": "

The lower bound of the option to filter by creation date and time.

", + "ListJobRunsRequest$createdAtBefore": "

The upper bound of the option to filter by creation date and time.

" + } + }, + "DeleteApplicationRequest": { + "base": null, + "refs": { + } + }, + "DeleteApplicationResponse": { + "base": null, + "refs": { + } + }, + "DiskSize": { + "base": null, + "refs": { + "MaximumAllowedResources$disk": "

The maximum allowed disk for an application.

", + "WorkerResourceConfig$disk": "

The disk requirements for every worker instance of the worker type.

" + } + }, + "Double": { + "base": null, + "refs": { + "TotalResourceUtilization$vCPUHour": "

The aggregated vCPU used per hour from the time job start executing till the time job is terminated.

", + "TotalResourceUtilization$memoryGBHour": "

The aggregated memory used per hour from the time job start executing till the time job is terminated.

", + "TotalResourceUtilization$storageGBHour": "

The aggregated storage used per hour from the time job start executing till the time job is terminated.

" + } + }, + "Duration": { + "base": null, + "refs": { + "StartJobRunRequest$executionTimeoutMinutes": "

The maximum duration for the job run to run. If the job run runs beyond this duration, it will be automatically cancelled.

" + } + }, + "EncryptionKeyArn": { + "base": null, + "refs": { + "ManagedPersistenceMonitoringConfiguration$encryptionKeyArn": "

The KMS key ARN to encrypt the logs stored in managed log persistence.

", + "S3MonitoringConfiguration$encryptionKeyArn": "

The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.

" + } + }, + "EngineType": { + "base": null, + "refs": { + "Application$type": "

The type of application, such as Spark or Hive.

", + "ApplicationSummary$type": "

The type of application, such as Spark or Hive.

", + "CreateApplicationRequest$type": "

The type of application you want to start, such as Spark or Hive.

" + } + }, + "EntryPointArgument": { + "base": null, + "refs": { + "EntryPointArguments$member": null + } + }, + "EntryPointArguments": { + "base": null, + "refs": { + "SparkSubmit$entryPointArguments": "

The arguments for the Spark submit job run.

" + } + }, + "EntryPointPath": { + "base": null, + "refs": { + "SparkSubmit$entryPoint": "

The entry point for the Spark submit job run.

" + } + }, + "GetApplicationRequest": { + "base": null, + "refs": { + } + }, + "GetApplicationResponse": { + "base": null, + "refs": { + } + }, + "GetJobRunRequest": { + "base": null, + "refs": { + } + }, + "GetJobRunResponse": { + "base": null, + "refs": { + } + }, + "Hive": { + "base": "

The configurations for the Hive job driver.

", + "refs": { + "JobDriver$hive": "

The job driver parameters specified for Hive.

" + } + }, + "HiveCliParameters": { + "base": null, + "refs": { + "Hive$parameters": "

The parameters for the Hive job run.

" + } + }, + "IAMRoleArn": { + "base": null, + "refs": { + "JobRun$executionRole": "

The execution role ARN of the job run.

", + "JobRunSummary$executionRole": "

The execution role ARN of the job run.

", + "StartJobRunRequest$executionRoleArn": "

The execution role ARN for the job run.

" + } + }, + "InitScriptPath": { + "base": null, + "refs": { + "Hive$initQueryFile": "

The query file for the Hive job run.

" + } + }, + "InitialCapacityConfig": { + "base": "

The initial capacity configuration per worker.

", + "refs": { + "InitialCapacityConfigMap$value": null + } + }, + "InitialCapacityConfigMap": { + "base": null, + "refs": { + "Application$initialCapacity": "

The initial capacity of the application.

", + "CreateApplicationRequest$initialCapacity": "

The capacity to initialize when the application is created.

", + "UpdateApplicationRequest$initialCapacity": "

The capacity to initialize when the application is updated.

" + } + }, + "Integer": { + "base": null, + "refs": { + "JobRun$totalExecutionDurationSeconds": "

The job run total execution duration in seconds. This field is only available for job runs in a COMPLETED, FAILED, or CANCELLED state.

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

Request processing failed because of an error or failure with the service.

", + "refs": { + } + }, + "JobArn": { + "base": null, + "refs": { + "JobRun$arn": "

The execution role ARN of the job run.

", + "JobRunSummary$arn": "

The ARN of the job run.

", + "StartJobRunResponse$arn": "

The output lists the execution role ARN of the job run.

" + } + }, + "JobDriver": { + "base": "

The driver that the job runs on.

", + "refs": { + "JobRun$jobDriver": "

The job driver for the job run.

", + "StartJobRunRequest$jobDriver": "

The job driver for the job run.

" + } + }, + "JobRun": { + "base": "

Information about a job run. A job run is a unit of work, such as a Spark JAR, Hive query, or SparkSQL query, that you submit to an EMR Serverless application.

", + "refs": { + "GetJobRunResponse$jobRun": "

The output displays information about the job run.

" + } + }, + "JobRunId": { + "base": null, + "refs": { + "CancelJobRunRequest$jobRunId": "

The ID of the job run to cancel.

", + "CancelJobRunResponse$jobRunId": "

The output contains the ID of the cancelled job run.

", + "GetJobRunRequest$jobRunId": "

The ID of the job run.

", + "JobRun$jobRunId": "

The ID of the job run.

", + "JobRunSummary$id": "

The ID of the job run.

", + "StartJobRunResponse$jobRunId": "

The output contains the ID of the started job run.

" + } + }, + "JobRunState": { + "base": null, + "refs": { + "JobRun$state": "

The state of the job run.

", + "JobRunStateSet$member": null, + "JobRunSummary$state": "

The state of the job run.

" + } + }, + "JobRunStateSet": { + "base": null, + "refs": { + "ListJobRunsRequest$states": "

An optional filter for job run states. Note that if this filter contains multiple states, the resulting list will be grouped by the state.

" + } + }, + "JobRunSummary": { + "base": "

The summary of attributes associated with a job run.

", + "refs": { + "JobRuns$member": null + } + }, + "JobRunType": { + "base": null, + "refs": { + "JobRunSummary$type": "

The type of job run, such as Spark or Hive.

" + } + }, + "JobRuns": { + "base": null, + "refs": { + "ListJobRunsResponse$jobRuns": "

The output lists information about the specified job runs.

" + } + }, + "ListApplicationsRequest": { + "base": null, + "refs": { + } + }, + "ListApplicationsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListApplicationsRequest$maxResults": "

The maximum number of applications that can be listed.

" + } + }, + "ListApplicationsResponse": { + "base": null, + "refs": { + } + }, + "ListJobRunsRequest": { + "base": null, + "refs": { + } + }, + "ListJobRunsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListJobRunsRequest$maxResults": "

The maximum number of job runs that can be listed.

" + } + }, + "ListJobRunsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ManagedPersistenceMonitoringConfiguration": { + "base": "

The managed log persistence configuration for a job run.

", + "refs": { + "MonitoringConfiguration$managedPersistenceMonitoringConfiguration": "

The managed log persistence configuration for a job run.

" + } + }, + "MaximumAllowedResources": { + "base": "

The maximum allowed cumulative resources for an application. No new resources will be created once the limit is hit.

", + "refs": { + "Application$maximumCapacity": "

The maximum capacity of the application. This is cumulative across all workers at any given point in time during the lifespan of the application is created. No new resources will be created once any one of the defined limits is hit.

", + "CreateApplicationRequest$maximumCapacity": "

The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.

", + "UpdateApplicationRequest$maximumCapacity": "

The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.

" + } + }, + "MemorySize": { + "base": null, + "refs": { + "MaximumAllowedResources$memory": "

The maximum allowed resources for an application.

", + "WorkerResourceConfig$memory": "

The memory requirements for every worker instance of the worker type.

" + } + }, + "MonitoringConfiguration": { + "base": "

The configuration setting for monitoring.

", + "refs": { + "ConfigurationOverrides$monitoringConfiguration": "

The override configurations for monitoring.

" + } + }, + "NetworkConfiguration": { + "base": "

The network configuration for customer VPC connectivity.

", + "refs": { + "Application$networkConfiguration": "

The network configuration for customer VPC connectivity for the application.

", + "CreateApplicationRequest$networkConfiguration": "

The network configuration for customer VPC connectivity.

", + "JobRun$networkConfiguration": null, + "UpdateApplicationRequest$networkConfiguration": null + } + }, + "NextToken": { + "base": null, + "refs": { + "ListApplicationsRequest$nextToken": "

The token for the next set of application results.

", + "ListApplicationsResponse$nextToken": "

The output displays the token for the next set of application results. This is required for pagination and is available as a response of the previous request.

", + "ListJobRunsRequest$nextToken": "

The token for the next set of job run results.

", + "ListJobRunsResponse$nextToken": "

The output displays the token for the next set of job run results. This is required for pagination and is available as a response of the previous request.

" + } + }, + "Query": { + "base": null, + "refs": { + "Hive$query": "

The query for the Hive job run.

" + } + }, + "ReleaseLabel": { + "base": null, + "refs": { + "Application$releaseLabel": "

The EMR release version associated with the application.

", + "ApplicationSummary$releaseLabel": "

The EMR release version associated with the application.

", + "CreateApplicationRequest$releaseLabel": "

The EMR release version associated with the application.

", + "JobRun$releaseLabel": "

The EMR release version associated with the application your job is running on.

", + "JobRunSummary$releaseLabel": "

The EMR release version associated with the application your job is running on.

" + } + }, + "RequestIdentityUserArn": { + "base": null, + "refs": { + "JobRun$createdBy": "

The user who created the job run.

", + "JobRunSummary$createdBy": "

The user who created the job run.

" + } + }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the supported resources are Amazon EMR Serverless applications and job runs.

", + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the supported resources are Amazon EMR Serverless applications and job runs.

", + "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the supported resources are Amazon EMR Serverless applications and job runs.

" + } + }, + "ResourceNotFoundException": { + "base": "

The specified resource was not found.

", + "refs": { + } + }, + "S3MonitoringConfiguration": { + "base": "

The Amazon S3 configuration for monitoring log publishing. You can configure your jobs to send log information to Amazon S3.

", + "refs": { + "MonitoringConfiguration$s3MonitoringConfiguration": "

The Amazon S3 configuration for monitoring log publishing.

" + } + }, + "SecurityGroupIds": { + "base": null, + "refs": { + "NetworkConfiguration$securityGroupIds": "

The array of security group Ids for customer VPC connectivity.

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

A set of properties specified within a configuration classification.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The maximum number of resources per account has been reached.

", + "refs": { + } + }, + "SparkSubmit": { + "base": "

The configurations for the Spark submit job driver.

", + "refs": { + "JobDriver$sparkSubmit": "

The job driver parameters specified for Spark.

" + } + }, + "SparkSubmitParameters": { + "base": null, + "refs": { + "SparkSubmit$sparkSubmitParameters": "

The parameters for the Spark submit job run.

" + } + }, + "StartApplicationRequest": { + "base": null, + "refs": { + } + }, + "StartApplicationResponse": { + "base": null, + "refs": { + } + }, + "StartJobRunRequest": { + "base": null, + "refs": { + } + }, + "StartJobRunResponse": { + "base": null, + "refs": { + } + }, + "StopApplicationRequest": { + "base": null, + "refs": { + } + }, + "StopApplicationResponse": { + "base": null, + "refs": { + } + }, + "String1024": { + "base": null, + "refs": { + "Configuration$classification": "

The classification within a configuration.

", + "ConflictException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "SensitivePropertiesMap$key": null, + "SensitivePropertiesMap$value": null, + "ServiceQuotaExceededException$message": null, + "ValidationException$message": null + } + }, + "String256": { + "base": null, + "refs": { + "Application$stateDetails": "

The state details of the application.

", + "ApplicationSummary$stateDetails": "

The state details of the application.

", + "JobRun$name": "

The optional job run name. This doesn't have to be unique.

", + "JobRun$stateDetails": "

The state details of the job run.

", + "JobRunSummary$name": "

The optional job run name. This doesn't have to be unique.

", + "JobRunSummary$stateDetails": "

The state details of the job run.

", + "StartJobRunRequest$name": "

The optional job run name. This doesn't have to be unique.

" + } + }, + "SubnetIds": { + "base": null, + "refs": { + "NetworkConfiguration$subnetIds": "

The array of subnet Ids for customer VPC connectivity.

" + } + }, + "SubnetString": { + "base": null, + "refs": { + "SubnetIds$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The keys of the tags to be removed.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "Application$tags": "

The tags assigned to the application.

", + "CreateApplicationRequest$tags": "

The tags assigned to the application.

", + "JobRun$tags": "

The tags assigned to the job run.

", + "ListTagsForResourceResponse$tags": "

The tags for the resource.

", + "StartJobRunRequest$tags": "

The tags assigned to the job run.

", + "TagResourceRequest$tags": "

The tags to add to the resource. A tag is an array of key-value pairs.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "TotalResourceUtilization": { + "base": "

The aggregate vCPU, memory, and storage resources used from the time job start executing till the time job is terminated, rounded up to the nearest second.

", + "refs": { + "JobRun$totalResourceUtilization": "

The aggregate vCPU, memory, and storage resources used from the time job start executing till the time job is terminated, rounded up to the nearest second.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateApplicationRequest": { + "base": null, + "refs": { + } + }, + "UpdateApplicationResponse": { + "base": null, + "refs": { + } + }, + "UriString": { + "base": null, + "refs": { + "S3MonitoringConfiguration$logUri": "

The Amazon S3 destination URI for log publishing.

" + } + }, + "ValidationException": { + "base": "

The input fails to satisfy the constraints specified by an AWS service.

", + "refs": { + } + }, + "WorkerCounts": { + "base": null, + "refs": { + "InitialCapacityConfig$workerCount": "

The number of workers in the initial capacity configuration.

" + } + }, + "WorkerResourceConfig": { + "base": "

The cumulative configuration requirements for every worker instance of the worker type.

", + "refs": { + "InitialCapacityConfig$workerConfiguration": "

The resource configuration of the initial capacity configuration.

" + } + }, + "WorkerTypeString": { + "base": null, + "refs": { + "InitialCapacityConfigMap$key": null + } + } + } +} diff --git a/models/apis/emr-serverless/2021-07-13/examples-1.json b/models/apis/emr-serverless/2021-07-13/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/emr-serverless/2021-07-13/paginators-1.json b/models/apis/emr-serverless/2021-07-13/paginators-1.json new file mode 100644 index 00000000000..7193d8550a8 --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListApplications": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "applications" + }, + "ListJobRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "jobRuns" + } + } +} diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 939b1fda134..11df74dba9f 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -3141,7 +3141,15 @@ "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", - "ml.r5.24xlarge" + "ml.r5.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.16xlarge", + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge" ] }, "AppList":{ @@ -5268,7 +5276,8 @@ "DefaultCodeRepository":{"shape":"CodeRepositoryNameOrUrl"}, "AdditionalCodeRepositories":{"shape":"AdditionalCodeRepositoryNamesOrUrls"}, "RootAccess":{"shape":"RootAccess"}, - "PlatformIdentifier":{"shape":"PlatformIdentifier"} + "PlatformIdentifier":{"shape":"PlatformIdentifier"}, + "InstanceMetadataServiceConfiguration":{"shape":"InstanceMetadataServiceConfiguration"} } }, "CreateNotebookInstanceLifecycleConfigInput":{ @@ -7291,7 +7300,8 @@ "DefaultCodeRepository":{"shape":"CodeRepositoryNameOrUrl"}, "AdditionalCodeRepositories":{"shape":"AdditionalCodeRepositoryNamesOrUrls"}, "RootAccess":{"shape":"RootAccess"}, - "PlatformIdentifier":{"shape":"PlatformIdentifier"} + "PlatformIdentifier":{"shape":"PlatformIdentifier"}, + "InstanceMetadataServiceConfiguration":{"shape":"InstanceMetadataServiceConfiguration"} } }, "DescribePipelineDefinitionForExecutionRequest":{ @@ -9585,6 +9595,13 @@ "member":{"shape":"TrainingInputMode"}, "min":1 }, + "InstanceMetadataServiceConfiguration":{ + "type":"structure", + "required":["MinimumInstanceMetadataServiceVersion"], + "members":{ + "MinimumInstanceMetadataServiceVersion":{"shape":"MinimumInstanceMetadataServiceVersion"} + } + }, "InstanceType":{ "type":"string", "enum":[ @@ -11513,6 +11530,11 @@ "S3Uri":{"shape":"S3Uri"} } }, + "MinimumInstanceMetadataServiceVersion":{ + "type":"string", + "max":1, + "pattern":"1|2" + }, "ModelApprovalStatus":{ "type":"string", "enum":[ @@ -16318,7 +16340,8 @@ "DisassociateAcceleratorTypes":{"shape":"DisassociateNotebookInstanceAcceleratorTypes"}, "DisassociateDefaultCodeRepository":{"shape":"DisassociateDefaultCodeRepository"}, "DisassociateAdditionalCodeRepositories":{"shape":"DisassociateAdditionalCodeRepositories"}, - "RootAccess":{"shape":"RootAccess"} + "RootAccess":{"shape":"RootAccess"}, + "InstanceMetadataServiceConfiguration":{"shape":"InstanceMetadataServiceConfiguration"} } }, "UpdateNotebookInstanceLifecycleConfigInput":{ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index 8cfe6b695b5..211e1833ff2 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -391,7 +391,7 @@ "AlgorithmImage": { "base": null, "refs": { - "AlgorithmSpecification$TrainingImage": "

The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

", + "AlgorithmSpecification$TrainingImage": "

The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for SageMaker built-in algorithms, see Docker Registry Paths and Example Code in the Amazon SageMaker developer guide. SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information about using your custom training container, see Using Your Own Algorithms with Amazon SageMaker.

You must specify either the algorithm name to the AlgorithmName parameter or the image URI of the algorithm container to the TrainingImage parameter.

For more information, see the note in the AlgorithmName parameter description.

", "DebugRuleConfiguration$RuleEvaluatorImage": "

The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

", "HyperParameterAlgorithmSpecification$TrainingImage": "

The registry path of the Docker image that contains the training algorithm. For information about Docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

", "ProfilerRuleConfiguration$RuleEvaluatorImage": "

The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

" @@ -612,7 +612,7 @@ "ArnOrName": { "base": null, "refs": { - "AlgorithmSpecification$AlgorithmName": "

The name of the algorithm resource to use for the training job. This must be an algorithm resource that you created or subscribe to on Amazon Web Services Marketplace. If you specify a value for this parameter, you can't specify a value for TrainingImage.

", + "AlgorithmSpecification$AlgorithmName": "

The name of the algorithm resource to use for the training job. This must be an algorithm resource that you created or subscribe to on Amazon Web Services Marketplace.

You must specify either the algorithm name to the AlgorithmName parameter or the image URI of the algorithm container to the TrainingImage parameter.

Note that the AlgorithmName parameter is mutually exclusive with the TrainingImage parameter. If you specify a value for the AlgorithmName parameter, you can't specify a value for TrainingImage, and vice versa.

If you specify values for both parameters, the training job might break; if you don't specify any value for both parameters, the training job might raise a null error.

", "CreateModelPackageInput$ModelPackageGroupName": "

The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

This parameter is required for versioned models, and does not apply to unversioned models.

", "DeleteModelPackageGroupInput$ModelPackageGroupName": "

The name of the model group to delete.

", "DescribeAlgorithmInput$AlgorithmName": "

The name of the algorithm to describe.

", @@ -5233,6 +5233,14 @@ "ChannelSpecification$SupportedInputModes": "

The allowed input mode, either FILE or PIPE.

In FILE mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode.

In PIPE mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.

" } }, + "InstanceMetadataServiceConfiguration": { + "base": "

Information on the IMDS configuration of the notebook instance

", + "refs": { + "CreateNotebookInstanceInput$InstanceMetadataServiceConfiguration": "

Information on the IMDS configuration of the notebook instance

", + "DescribeNotebookInstanceOutput$InstanceMetadataServiceConfiguration": "

Information on the IMDS configuration of the notebook instance

", + "UpdateNotebookInstanceInput$InstanceMetadataServiceConfiguration": "

Information on the IMDS configuration of the notebook instance

" + } + }, "InstanceType": { "base": null, "refs": { @@ -6644,6 +6652,12 @@ "ModelQuality$Constraints": "

Model quality constraints.

" } }, + "MinimumInstanceMetadataServiceVersion": { + "base": null, + "refs": { + "InstanceMetadataServiceConfiguration$MinimumInstanceMetadataServiceVersion": "

Indicates the minimum IMDS version that the notebook instance supports. When passed as part of CreateNotebookInstance, if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of UpdateNotebookInstance, there is no default.

" + } + }, "ModelApprovalStatus": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 4f2ea403e96..e4cc3a49dc1 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1699,6 +1699,7 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, @@ -8737,6 +8738,12 @@ }, "hostname" : "oidc.ap-northeast-2.amazonaws.com" }, + "ap-northeast-3" : { + "credentialScope" : { + "region" : "ap-northeast-3" + }, + "hostname" : "oidc.ap-northeast-3.amazonaws.com" + }, "ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" diff --git a/service/appflow/api.go b/service/appflow/api.go index 08dac71fc00..f7c08819812 100644 --- a/service/appflow/api.go +++ b/service/appflow/api.go @@ -61,7 +61,8 @@ func (c *Appflow) CreateConnectorProfileRequest(input *CreateConnectorProfileInp // account. There is a soft quota of 100 connector profiles per Amazon Web Services // account. If you need more connector profiles than this quota allows, you // can submit a request to the Amazon AppFlow team through the Amazon AppFlow -// support channel. +// support channel. In each connector profile that you create, you can provide +// the credentials and properties for only one connector. // // 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 @@ -534,7 +535,7 @@ func (c *Appflow) DescribeConnectorEntityRequest(input *DescribeConnectorEntityI // DescribeConnectorEntity API operation for Amazon Appflow. // // Provides details regarding the entity used with the connector, with a description -// of the data model for each entity. +// of the data model for each field in that entity. // // 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 @@ -10672,6 +10673,19 @@ type S3OutputFormatConfig struct { // Amazon S3 bucket. You can name folders according to the flow frequency and // date. PrefixConfig *PrefixConfig `locationName:"prefixConfig" type:"structure"` + + // If your file output format is Parquet, use this parameter to set whether + // Amazon AppFlow preserves the data types in your source data when it writes + // the output to Amazon S3. + // + // * true: Amazon AppFlow preserves the data types when it writes to Amazon + // S3. For example, an integer or 1 in your source data is still an integer + // in your output. + // + // * false: Amazon AppFlow converts all of the source data into strings when + // it writes to Amazon S3. For example, an integer of 1 in your source data + // becomes the string "1" in the output. + PreserveSourceDataTyping *bool `locationName:"preserveSourceDataTyping" type:"boolean"` } // String returns the string representation. @@ -10710,6 +10724,12 @@ func (s *S3OutputFormatConfig) SetPrefixConfig(v *PrefixConfig) *S3OutputFormatC return s } +// SetPreserveSourceDataTyping sets the PreserveSourceDataTyping field's value. +func (s *S3OutputFormatConfig) SetPreserveSourceDataTyping(v bool) *S3OutputFormatConfig { + s.PreserveSourceDataTyping = &v + return s +} + // The properties that are applied when Amazon S3 is being used as the flow // source. type S3SourceProperties struct { @@ -11447,7 +11467,12 @@ type ScheduledTriggerProperties struct { // the first flow run. FirstExecutionFrom *time.Time `locationName:"firstExecutionFrom" type:"timestamp"` - // Specifies the scheduled end time for a schedule-triggered flow. + // Defines how many times a scheduled flow fails consecutively before Amazon + // AppFlow deactivates it. + FlowErrorDeactivationThreshold *int64 `locationName:"flowErrorDeactivationThreshold" min:"1" type:"integer"` + + // The time at which the scheduled flow ends. The time is formatted as a timestamp + // that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00. ScheduleEndTime *time.Time `locationName:"scheduleEndTime" type:"timestamp"` // The scheduling expression that determines the rate at which the schedule @@ -11460,11 +11485,18 @@ type ScheduledTriggerProperties struct { // flow. ScheduleOffset *int64 `locationName:"scheduleOffset" type:"long"` - // Specifies the scheduled start time for a schedule-triggered flow. + // The time at which the scheduled flow starts. The time is formatted as a timestamp + // that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00. ScheduleStartTime *time.Time `locationName:"scheduleStartTime" type:"timestamp"` - // Specifies the time zone used when referring to the date and time of a scheduled-triggered - // flow, such as America/New_York. + // Specifies the time zone used when referring to the dates and times of a scheduled + // flow, such as America/New_York. This time zone is only a descriptive label. + // It doesn't affect how Amazon AppFlow interprets the timestamps that you specify + // to schedule the flow. + // + // If you want to schedule a flow by using times in a particular time zone, + // indicate the time zone as a UTC offset in your timestamps. For example, the + // UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST. Timezone *string `locationName:"timezone" type:"string"` } @@ -11489,6 +11521,9 @@ func (s ScheduledTriggerProperties) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ScheduledTriggerProperties) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ScheduledTriggerProperties"} + if s.FlowErrorDeactivationThreshold != nil && *s.FlowErrorDeactivationThreshold < 1 { + invalidParams.Add(request.NewErrParamMinValue("FlowErrorDeactivationThreshold", 1)) + } if s.ScheduleExpression == nil { invalidParams.Add(request.NewErrParamRequired("ScheduleExpression")) } @@ -11511,6 +11546,12 @@ func (s *ScheduledTriggerProperties) SetFirstExecutionFrom(v time.Time) *Schedul return s } +// SetFlowErrorDeactivationThreshold sets the FlowErrorDeactivationThreshold field's value. +func (s *ScheduledTriggerProperties) SetFlowErrorDeactivationThreshold(v int64) *ScheduledTriggerProperties { + s.FlowErrorDeactivationThreshold = &v + return s +} + // SetScheduleEndTime sets the ScheduleEndTime field's value. func (s *ScheduledTriggerProperties) SetScheduleEndTime(v time.Time) *ScheduledTriggerProperties { s.ScheduleEndTime = &v diff --git a/service/datasync/api.go b/service/datasync/api.go index 87e9b03044b..e797ca4b828 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -248,7 +248,9 @@ func (c *DataSync) CreateLocationEfsRequest(input *CreateLocationEfsInput) (req // CreateLocationEfs API operation for AWS DataSync. // -// Creates an endpoint for an Amazon EFS file system. +// Creates an endpoint for an Amazon EFS file system that DataSync can access +// for a transfer. For more information, see Creating a location for Amazon +// EFS (https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.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 @@ -1431,7 +1433,7 @@ func (c *DataSync) DescribeLocationEfsRequest(input *DescribeLocationEfsInput) ( // DescribeLocationEfs API operation for AWS DataSync. // -// Returns metadata, such as the path information about an Amazon EFS location. +// Returns metadata about your DataSync location for an Amazon EFS file system. // // 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 @@ -4159,45 +4161,43 @@ func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput { type CreateLocationEfsInput struct { _ struct{} `type:"structure"` - // The subnet and security group that the Amazon EFS file system uses. The security - // group that you provide needs to be able to communicate with the security - // group on the mount target in the subnet specified. - // - // The exact relationship between security group M (of the mount target) and - // security group S (which you provide for DataSync to use at this stage) is - // as follows: - // - // * Security group M (which you associate with the mount target) must allow - // inbound access for the Transmission Control Protocol (TCP) on the NFS - // port (2049) from security group S. You can enable inbound connections - // either by IP address (CIDR range) or security group. - // - // * Security group S (provided to DataSync to access EFS) should have a - // rule that enables outbound connections to the NFS port on one of the file - // system’s mount targets. You can enable outbound connections either by - // IP address (CIDR range) or security group. For information about security - // groups and mount targets, see Security Groups for Amazon EC2 Instances - // and Mount Targets in the Amazon EFS User Guide. + // Specifies the Amazon Resource Name (ARN) of the access point that DataSync + // uses to access the Amazon EFS file system. + AccessPointArn *string `type:"string"` + + // Specifies the subnet and security groups DataSync uses to access your Amazon + // EFS file system. // // Ec2Config is a required field Ec2Config *Ec2Config `type:"structure" required:"true"` - // The Amazon Resource Name (ARN) for the Amazon EFS file system. + // Specifies the ARN for the Amazon EFS file system. // // EfsFilesystemArn is a required field EfsFilesystemArn *string `type:"string" required:"true"` - // A subdirectory in the location’s path. This subdirectory in the EFS file - // system is used to read data from the EFS source location or write data to - // the EFS destination. By default, DataSync uses the root directory. + // Specifies an Identity and Access Management (IAM) role that DataSync assumes + // when mounting the Amazon EFS file system. + FileSystemAccessRoleArn *string `type:"string"` + + // Specifies whether you want DataSync to use TLS encryption when transferring + // data to or from your Amazon EFS file system. // - // Subdirectory must be specified with forward slashes. For example, /path/to/folder. + // If you specify an access point using AccessPointArn or an IAM role using + // FileSystemAccessRoleArn, you must set this parameter to TLS1_2. + InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` + + // Specifies a mount path for your Amazon EFS file system. This is where DataSync + // reads or writes data (depending on if this is a source or destination location). + // By default, DataSync uses the root directory, but you can also include subdirectories. + // + // You must specify a value with forward slashes (for example, /path/to/folder). Subdirectory *string `type:"string"` - // The key-value pair that represents a tag that you want to add to the resource. - // The value can be an empty string. This value helps you manage, filter, and - // search for your resources. We recommend that you create a name tag for your - // location. + // Specifies the key-value pair that represents a tag that you want to add to + // the resource. The value can be an empty string. This value helps you manage, + // filter, and search for your resources. We recommend that you create a name + // tag for your location. Tags []*TagListEntry `type:"list"` } @@ -4250,6 +4250,12 @@ func (s *CreateLocationEfsInput) Validate() error { return nil } +// SetAccessPointArn sets the AccessPointArn field's value. +func (s *CreateLocationEfsInput) SetAccessPointArn(v string) *CreateLocationEfsInput { + s.AccessPointArn = &v + return s +} + // SetEc2Config sets the Ec2Config field's value. func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput { s.Ec2Config = v @@ -4262,6 +4268,18 @@ func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEf return s } +// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. +func (s *CreateLocationEfsInput) SetFileSystemAccessRoleArn(v string) *CreateLocationEfsInput { + s.FileSystemAccessRoleArn = &v + return s +} + +// SetInTransitEncryption sets the InTransitEncryption field's value. +func (s *CreateLocationEfsInput) SetInTransitEncryption(v string) *CreateLocationEfsInput { + s.InTransitEncryption = &v + return s +} + // SetSubdirectory sets the Subdirectory field's value. func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput { s.Subdirectory = &v @@ -4279,7 +4297,7 @@ type CreateLocationEfsOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the Amazon EFS file system location that - // is created. + // you create. LocationArn *string `type:"string"` } @@ -6329,7 +6347,8 @@ func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput { type DescribeLocationEfsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the EFS location to describe. + // The Amazon Resource Name (ARN) of the Amazon EFS file system location that + // you want information about. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -6376,19 +6395,29 @@ func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfs type DescribeLocationEfsOutput struct { _ struct{} `type:"structure"` - // The time that the EFS location was created. + // The ARN of the access point that DataSync uses to access the Amazon EFS file + // system. + AccessPointArn *string `type:"string"` + + // The time that the location was created. CreationTime *time.Time `type:"timestamp"` - // The subnet that DataSync uses to access target EFS file system. The subnet - // must have at least one mount target for that file system. The security group - // that you provide needs to be able to communicate with the security group - // on the mount target in the subnet specified. + // The subnet and security groups that DataSync uses to access your Amazon EFS + // file system. Ec2Config *Ec2Config `type:"structure"` - // The Amazon Resource Name (ARN) of the EFS location that was described. + // The Identity and Access Management (IAM) role that DataSync assumes when + // mounting the Amazon EFS file system. + FileSystemAccessRoleArn *string `type:"string"` + + // Whether DataSync uses TLS encryption when transferring data to or from your + // Amazon EFS file system. + InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` + + // The ARN of the Amazon EFS file system location. LocationArn *string `type:"string"` - // The URL of the EFS location that was described. + // The URL of the Amazon EFS file system location. LocationUri *string `type:"string"` } @@ -6410,6 +6439,12 @@ func (s DescribeLocationEfsOutput) GoString() string { return s.String() } +// SetAccessPointArn sets the AccessPointArn field's value. +func (s *DescribeLocationEfsOutput) SetAccessPointArn(v string) *DescribeLocationEfsOutput { + s.AccessPointArn = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput { s.CreationTime = &v @@ -6422,6 +6457,18 @@ func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocation return s } +// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. +func (s *DescribeLocationEfsOutput) SetFileSystemAccessRoleArn(v string) *DescribeLocationEfsOutput { + s.FileSystemAccessRoleArn = &v + return s +} + +// SetInTransitEncryption sets the InTransitEncryption field's value. +func (s *DescribeLocationEfsOutput) SetInTransitEncryption(v string) *DescribeLocationEfsOutput { + s.InTransitEncryption = &v + return s +} + // SetLocationArn sets the LocationArn field's value. func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput { s.LocationArn = &v @@ -7952,20 +7999,29 @@ func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput { return s } -// The subnet that DataSync uses to access target EFS file system. The subnet -// must have at least one mount target for that file system. The security group -// that you provide needs to be able to communicate with the security group -// on the mount target in the subnet specified. +// The subnet and security groups that DataSync uses to access your Amazon EFS +// file system. type Ec2Config struct { _ struct{} `type:"structure"` - // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the Amazon EC2 resource. + // Specifies the Amazon Resource Names (ARNs) of the security groups associated + // with an Amazon EFS file system's mount target. // // SecurityGroupArns is a required field SecurityGroupArns []*string `min:"1" type:"list" required:"true"` - // The ARN of the subnet that DataSync uses to access the target EFS file system. + // Specifies the ARN of a subnet where DataSync creates the network interfaces + // (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) + // for managing traffic during your transfer. + // + // The subnet must be located: + // + // * In the same virtual private cloud (VPC) as the Amazon EFS file system. + // + // * In the same Availability Zone as at least one mount target for the Amazon + // EFS file system. + // + // You don't need to specify a subnet that includes a file system mount target. // // SubnetArn is a required field SubnetArn *string `type:"string" required:"true"` @@ -11370,6 +11426,22 @@ func Atime_Values() []string { } } +const ( + // EfsInTransitEncryptionNone is a EfsInTransitEncryption enum value + EfsInTransitEncryptionNone = "NONE" + + // EfsInTransitEncryptionTls12 is a EfsInTransitEncryption enum value + EfsInTransitEncryptionTls12 = "TLS1_2" +) + +// EfsInTransitEncryption_Values returns all elements of the EfsInTransitEncryption enum +func EfsInTransitEncryption_Values() []string { + return []string{ + EfsInTransitEncryptionNone, + EfsInTransitEncryptionTls12, + } +} + const ( // EndpointTypePublic is a EndpointType enum value EndpointTypePublic = "PUBLIC" diff --git a/service/emrserverless/api.go b/service/emrserverless/api.go new file mode 100644 index 00000000000..8d9aa873320 --- /dev/null +++ b/service/emrserverless/api.go @@ -0,0 +1,4943 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverless + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCancelJobRun = "CancelJobRun" + +// CancelJobRunRequest generates a "aws/request.Request" representing the +// client's request for the CancelJobRun 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 CancelJobRun for more information on using the CancelJobRun +// 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 CancelJobRunRequest method. +// req, resp := client.CancelJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CancelJobRun +func (c *EMRServerless) CancelJobRunRequest(input *CancelJobRunInput) (req *request.Request, output *CancelJobRunOutput) { + op := &request.Operation{ + Name: opCancelJobRun, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{applicationId}/jobruns/{jobRunId}", + } + + if input == nil { + input = &CancelJobRunInput{} + } + + output = &CancelJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelJobRun API operation for EMR Serverless. +// +// Cancels a job run. +// +// 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 EMR Serverless's +// API operation CancelJobRun for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CancelJobRun +func (c *EMRServerless) CancelJobRun(input *CancelJobRunInput) (*CancelJobRunOutput, error) { + req, out := c.CancelJobRunRequest(input) + return out, req.Send() +} + +// CancelJobRunWithContext is the same as CancelJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See CancelJobRun 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 *EMRServerless) CancelJobRunWithContext(ctx aws.Context, input *CancelJobRunInput, opts ...request.Option) (*CancelJobRunOutput, error) { + req, out := c.CancelJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateApplication = "CreateApplication" + +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication 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 CreateApplication for more information on using the CreateApplication +// 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 CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CreateApplication +func (c *EMRServerless) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { + op := &request.Operation{ + Name: opCreateApplication, + HTTPMethod: "POST", + HTTPPath: "/applications", + } + + if input == nil { + input = &CreateApplicationInput{} + } + + output = &CreateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplication API operation for EMR Serverless. +// +// Creates an application. +// +// 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 EMR Serverless's +// API operation CreateApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// * ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CreateApplication +func (c *EMRServerless) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + return out, req.Send() +} + +// CreateApplicationWithContext is the same as CreateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplication 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 *EMRServerless) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication 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 DeleteApplication for more information on using the DeleteApplication +// 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 DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/DeleteApplication +func (c *EMRServerless) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for EMR Serverless. +// +// Deletes an application. An application has to be in a stopped or created +// state in order to be deleted. +// +// 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 EMR Serverless's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/DeleteApplication +func (c *EMRServerless) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication 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 *EMRServerless) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApplication = "GetApplication" + +// GetApplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetApplication 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 GetApplication for more information on using the GetApplication +// 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 GetApplicationRequest method. +// req, resp := client.GetApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetApplication +func (c *EMRServerless) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) { + op := &request.Operation{ + Name: opGetApplication, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &GetApplicationInput{} + } + + output = &GetApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApplication API operation for EMR Serverless. +// +// Displays detailed information about a specified application. +// +// 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 EMR Serverless's +// API operation GetApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetApplication +func (c *EMRServerless) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + return out, req.Send() +} + +// GetApplicationWithContext is the same as GetApplication with the addition of +// the ability to pass a context and additional request options. +// +// See GetApplication 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 *EMRServerless) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetJobRun = "GetJobRun" + +// GetJobRunRequest generates a "aws/request.Request" representing the +// client's request for the GetJobRun 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 GetJobRun for more information on using the GetJobRun +// 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 GetJobRunRequest method. +// req, resp := client.GetJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetJobRun +func (c *EMRServerless) GetJobRunRequest(input *GetJobRunInput) (req *request.Request, output *GetJobRunOutput) { + op := &request.Operation{ + Name: opGetJobRun, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/jobruns/{jobRunId}", + } + + if input == nil { + input = &GetJobRunInput{} + } + + output = &GetJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJobRun API operation for EMR Serverless. +// +// Displays detailed information about a job run. +// +// 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 EMR Serverless's +// API operation GetJobRun for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetJobRun +func (c *EMRServerless) GetJobRun(input *GetJobRunInput) (*GetJobRunOutput, error) { + req, out := c.GetJobRunRequest(input) + return out, req.Send() +} + +// GetJobRunWithContext is the same as GetJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See GetJobRun 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 *EMRServerless) GetJobRunWithContext(ctx aws.Context, input *GetJobRunInput, opts ...request.Option) (*GetJobRunOutput, error) { + req, out := c.GetJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplications = "ListApplications" + +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications 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 ListApplications for more information on using the ListApplications +// 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 ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListApplications +func (c *EMRServerless) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { + op := &request.Operation{ + Name: opListApplications, + HTTPMethod: "GET", + HTTPPath: "/applications", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationsInput{} + } + + output = &ListApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplications API operation for EMR Serverless. +// +// Lists applications based on a set of parameters. +// +// 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 EMR Serverless's +// API operation ListApplications for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListApplications +func (c *EMRServerless) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + return out, req.Send() +} + +// ListApplicationsWithContext is the same as ListApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplications 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 *EMRServerless) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationsPages iterates over the pages of a ListApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplications 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 ListApplications operation. +// pageNum := 0 +// err := client.ListApplicationsPages(params, +// func(page *emrserverless.ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMRServerless) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error { + return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationsPagesWithContext same as ListApplicationsPages 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 *EMRServerless) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListJobRuns = "ListJobRuns" + +// ListJobRunsRequest generates a "aws/request.Request" representing the +// client's request for the ListJobRuns 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 ListJobRuns for more information on using the ListJobRuns +// 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 ListJobRunsRequest method. +// req, resp := client.ListJobRunsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListJobRuns +func (c *EMRServerless) ListJobRunsRequest(input *ListJobRunsInput) (req *request.Request, output *ListJobRunsOutput) { + op := &request.Operation{ + Name: opListJobRuns, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/jobruns", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJobRunsInput{} + } + + output = &ListJobRunsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListJobRuns API operation for EMR Serverless. +// +// Lists job runs based on a set of parameters. +// +// 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 EMR Serverless's +// API operation ListJobRuns for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListJobRuns +func (c *EMRServerless) ListJobRuns(input *ListJobRunsInput) (*ListJobRunsOutput, error) { + req, out := c.ListJobRunsRequest(input) + return out, req.Send() +} + +// ListJobRunsWithContext is the same as ListJobRuns with the addition of +// the ability to pass a context and additional request options. +// +// See ListJobRuns 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 *EMRServerless) ListJobRunsWithContext(ctx aws.Context, input *ListJobRunsInput, opts ...request.Option) (*ListJobRunsOutput, error) { + req, out := c.ListJobRunsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListJobRunsPages iterates over the pages of a ListJobRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobRuns 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 ListJobRuns operation. +// pageNum := 0 +// err := client.ListJobRunsPages(params, +// func(page *emrserverless.ListJobRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMRServerless) ListJobRunsPages(input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool) error { + return c.ListJobRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobRunsPagesWithContext same as ListJobRunsPages 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 *EMRServerless) ListJobRunsPagesWithContext(ctx aws.Context, input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListJobRunsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListTagsForResource +func (c *EMRServerless) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for EMR Serverless. +// +// Lists the tags assigned to the resources. +// +// 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 EMR Serverless's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListTagsForResource +func (c *EMRServerless) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *EMRServerless) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartApplication = "StartApplication" + +// StartApplicationRequest generates a "aws/request.Request" representing the +// client's request for the StartApplication 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 StartApplication for more information on using the StartApplication +// 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 StartApplicationRequest method. +// req, resp := client.StartApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartApplication +func (c *EMRServerless) StartApplicationRequest(input *StartApplicationInput) (req *request.Request, output *StartApplicationOutput) { + op := &request.Operation{ + Name: opStartApplication, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/start", + } + + if input == nil { + input = &StartApplicationInput{} + } + + output = &StartApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartApplication API operation for EMR Serverless. +// +// Starts a specified application and initializes initial capacity if configured. +// +// 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 EMR Serverless's +// API operation StartApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// * ServiceQuotaExceededException +// The maximum number of resources per account has been reached. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartApplication +func (c *EMRServerless) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) { + req, out := c.StartApplicationRequest(input) + return out, req.Send() +} + +// StartApplicationWithContext is the same as StartApplication with the addition of +// the ability to pass a context and additional request options. +// +// See StartApplication 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 *EMRServerless) StartApplicationWithContext(ctx aws.Context, input *StartApplicationInput, opts ...request.Option) (*StartApplicationOutput, error) { + req, out := c.StartApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartJobRun = "StartJobRun" + +// StartJobRunRequest generates a "aws/request.Request" representing the +// client's request for the StartJobRun 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 StartJobRun for more information on using the StartJobRun +// 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 StartJobRunRequest method. +// req, resp := client.StartJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartJobRun +func (c *EMRServerless) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) { + op := &request.Operation{ + Name: opStartJobRun, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/jobruns", + } + + if input == nil { + input = &StartJobRunInput{} + } + + output = &StartJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartJobRun API operation for EMR Serverless. +// +// Starts a job run. +// +// 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 EMR Serverless's +// API operation StartJobRun for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// * ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartJobRun +func (c *EMRServerless) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) + return out, req.Send() +} + +// StartJobRunWithContext is the same as StartJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See StartJobRun 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 *EMRServerless) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopApplication = "StopApplication" + +// StopApplicationRequest generates a "aws/request.Request" representing the +// client's request for the StopApplication 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 StopApplication for more information on using the StopApplication +// 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 StopApplicationRequest method. +// req, resp := client.StopApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StopApplication +func (c *EMRServerless) StopApplicationRequest(input *StopApplicationInput) (req *request.Request, output *StopApplicationOutput) { + op := &request.Operation{ + Name: opStopApplication, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/stop", + } + + if input == nil { + input = &StopApplicationInput{} + } + + output = &StopApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopApplication API operation for EMR Serverless. +// +// Stops a specified application and releases initial capacity if configured. +// All scheduled and running jobs must be completed or cancelled before stopping +// an application. +// +// 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 EMR Serverless's +// API operation StopApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StopApplication +func (c *EMRServerless) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) { + req, out := c.StopApplicationRequest(input) + return out, req.Send() +} + +// StopApplicationWithContext is the same as StopApplication with the addition of +// the ability to pass a context and additional request options. +// +// See StopApplication 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 *EMRServerless) StopApplicationWithContext(ctx aws.Context, input *StopApplicationInput, opts ...request.Option) (*StopApplicationOutput, error) { + req, out := c.StopApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TagResource +func (c *EMRServerless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for EMR Serverless. +// +// Assigns tags to resources. A tag is a label that you assign to an AWS resource. +// Each tag consists of a key and an optional value, both of which you define. +// Tags enable you to categorize your AWS resources by attributes such as purpose, +// owner, or environment. When you have many resources of the same type, you +// can quickly identify a specific resource based on the tags you've assigned +// to it. +// +// 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 EMR Serverless's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TagResource +func (c *EMRServerless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *EMRServerless) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UntagResource +func (c *EMRServerless) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for EMR Serverless. +// +// Removes tags from resources. +// +// 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 EMR Serverless's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UntagResource +func (c *EMRServerless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *EMRServerless) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication 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 UpdateApplication for more information on using the UpdateApplication +// 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 UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UpdateApplication +func (c *EMRServerless) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{applicationId}", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApplication API operation for EMR Serverless. +// +// Updates a specified application. An application has to be in a stopped or +// created state in order to be updated. +// +// 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 EMR Serverless's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UpdateApplication +func (c *EMRServerless) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + return out, req.Send() +} + +// UpdateApplicationWithContext is the same as UpdateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApplication 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 *EMRServerless) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Information about an application. EMR Serverless uses applications to run +// jobs. +type Application struct { + _ struct{} `type:"structure"` + + // The ID of the application. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The ARN of the application. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The configuration for an application to automatically start on job submission. + AutoStartConfiguration *AutoStartConfig `locationName:"autoStartConfiguration" type:"structure"` + + // The configuration for an application to automatically stop after a certain + // amount of time being idle. + AutoStopConfiguration *AutoStopConfig `locationName:"autoStopConfiguration" type:"structure"` + + // The date and time when the application run was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The initial capacity of the application. + InitialCapacity map[string]*InitialCapacityConfig `locationName:"initialCapacity" type:"map"` + + // The maximum capacity of the application. This is cumulative across all workers + // at any given point in time during the lifespan of the application is created. + // No new resources will be created once any one of the defined limits is hit. + MaximumCapacity *MaximumAllowedResources `locationName:"maximumCapacity" type:"structure"` + + // The name of the application. + Name *string `locationName:"name" min:"1" type:"string"` + + // The network configuration for customer VPC connectivity for the application. + NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` + + // The EMR release version associated with the application. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The state of the application. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"ApplicationState"` + + // The state details of the application. + StateDetails *string `locationName:"stateDetails" min:"1" type:"string"` + + // The tags assigned to the application. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The type of application, such as Spark or Hive. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` + + // The date and time when the application run was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" 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 Application) 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 Application) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *Application) SetApplicationId(v string) *Application { + s.ApplicationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *Application) SetArn(v string) *Application { + s.Arn = &v + return s +} + +// SetAutoStartConfiguration sets the AutoStartConfiguration field's value. +func (s *Application) SetAutoStartConfiguration(v *AutoStartConfig) *Application { + s.AutoStartConfiguration = v + return s +} + +// SetAutoStopConfiguration sets the AutoStopConfiguration field's value. +func (s *Application) SetAutoStopConfiguration(v *AutoStopConfig) *Application { + s.AutoStopConfiguration = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Application) SetCreatedAt(v time.Time) *Application { + s.CreatedAt = &v + return s +} + +// SetInitialCapacity sets the InitialCapacity field's value. +func (s *Application) SetInitialCapacity(v map[string]*InitialCapacityConfig) *Application { + s.InitialCapacity = v + return s +} + +// SetMaximumCapacity sets the MaximumCapacity field's value. +func (s *Application) SetMaximumCapacity(v *MaximumAllowedResources) *Application { + s.MaximumCapacity = v + return s +} + +// SetName sets the Name field's value. +func (s *Application) SetName(v string) *Application { + s.Name = &v + return s +} + +// SetNetworkConfiguration sets the NetworkConfiguration field's value. +func (s *Application) SetNetworkConfiguration(v *NetworkConfiguration) *Application { + s.NetworkConfiguration = v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *Application) SetReleaseLabel(v string) *Application { + s.ReleaseLabel = &v + return s +} + +// SetState sets the State field's value. +func (s *Application) SetState(v string) *Application { + s.State = &v + return s +} + +// SetStateDetails sets the StateDetails field's value. +func (s *Application) SetStateDetails(v string) *Application { + s.StateDetails = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Application) SetTags(v map[string]*string) *Application { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Application) SetType(v string) *Application { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Application) SetUpdatedAt(v time.Time) *Application { + s.UpdatedAt = &v + return s +} + +// The summary of attributes associated with an application. +type ApplicationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the application. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The date and time when the application was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The ID of the application. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // The name of the application. + Name *string `locationName:"name" min:"1" type:"string"` + + // The EMR release version associated with the application. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The state of the application. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"ApplicationState"` + + // The state details of the application. + StateDetails *string `locationName:"stateDetails" min:"1" type:"string"` + + // The type of application, such as Spark or Hive. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` + + // The date and time when the application was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" 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 ApplicationSummary) 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 ApplicationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ApplicationSummary) SetArn(v string) *ApplicationSummary { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *ApplicationSummary) SetCreatedAt(v time.Time) *ApplicationSummary { + s.CreatedAt = &v + return s +} + +// SetId sets the Id field's value. +func (s *ApplicationSummary) SetId(v string) *ApplicationSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ApplicationSummary) SetName(v string) *ApplicationSummary { + s.Name = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *ApplicationSummary) SetReleaseLabel(v string) *ApplicationSummary { + s.ReleaseLabel = &v + return s +} + +// SetState sets the State field's value. +func (s *ApplicationSummary) SetState(v string) *ApplicationSummary { + s.State = &v + return s +} + +// SetStateDetails sets the StateDetails field's value. +func (s *ApplicationSummary) SetStateDetails(v string) *ApplicationSummary { + s.StateDetails = &v + return s +} + +// SetType sets the Type field's value. +func (s *ApplicationSummary) SetType(v string) *ApplicationSummary { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *ApplicationSummary) SetUpdatedAt(v time.Time) *ApplicationSummary { + s.UpdatedAt = &v + return s +} + +// The configuration for an application to automatically start on job submission. +type AutoStartConfig struct { + _ struct{} `type:"structure"` + + // Enables the application to automatically start on job submission. Defaults + // to true. + Enabled *bool `locationName:"enabled" type:"boolean"` +} + +// 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 AutoStartConfig) 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 AutoStartConfig) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *AutoStartConfig) SetEnabled(v bool) *AutoStartConfig { + s.Enabled = &v + return s +} + +// The configuration for an application to automatically stop after a certain +// amount of time being idle. +type AutoStopConfig struct { + _ struct{} `type:"structure"` + + // Enables the application to automatically stop after a certain amount of time + // being idle. Defaults to true. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The amount of idle time in minutes after which your application will automatically + // stop. Defaults to 15 minutes. + IdleTimeoutMinutes *int64 `locationName:"idleTimeoutMinutes" 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 AutoStopConfig) 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 AutoStopConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutoStopConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutoStopConfig"} + if s.IdleTimeoutMinutes != nil && *s.IdleTimeoutMinutes < 1 { + invalidParams.Add(request.NewErrParamMinValue("IdleTimeoutMinutes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *AutoStopConfig) SetEnabled(v bool) *AutoStopConfig { + s.Enabled = &v + return s +} + +// SetIdleTimeoutMinutes sets the IdleTimeoutMinutes field's value. +func (s *AutoStopConfig) SetIdleTimeoutMinutes(v int64) *AutoStopConfig { + s.IdleTimeoutMinutes = &v + return s +} + +type CancelJobRunInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application on which the job run will be canceled. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The ID of the job run to cancel. + // + // JobRunId is a required field + JobRunId *string `location:"uri" locationName:"jobRunId" 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.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JobRunId == nil { + invalidParams.Add(request.NewErrParamRequired("JobRunId")) + } + if s.JobRunId != nil && len(*s.JobRunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CancelJobRunInput) SetApplicationId(v string) *CancelJobRunInput { + s.ApplicationId = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *CancelJobRunInput) SetJobRunId(v string) *CancelJobRunInput { + s.JobRunId = &v + return s +} + +type CancelJobRunOutput struct { + _ struct{} `type:"structure"` + + // The output contains the application ID on which the job run is cancelled. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The output contains the ID of the cancelled job run. + // + // JobRunId is a required field + JobRunId *string `locationName:"jobRunId" 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 CancelJobRunOutput) 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 CancelJobRunOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CancelJobRunOutput) SetApplicationId(v string) *CancelJobRunOutput { + s.ApplicationId = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *CancelJobRunOutput) SetJobRunId(v string) *CancelJobRunOutput { + s.JobRunId = &v + return s +} + +// A configuration specification to be used when provisioning an application. +// A configuration consists of a classification, properties, and optional nested +// configurations. A classification refers to an application-specific configuration +// file. Properties are the settings you want to change in that file. +type Configuration struct { + _ struct{} `type:"structure"` + + // The classification within a configuration. + // + // Classification is a required field + Classification *string `locationName:"classification" min:"1" type:"string" required:"true"` + + // A list of additional configurations to apply within a configuration object. + Configurations []*Configuration `locationName:"configurations" type:"list"` + + // A set of properties specified within a configuration classification. + // + // Properties is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Configuration's + // String and GoString methods. + Properties map[string]*string `locationName:"properties" type:"map" 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 Configuration) 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 Configuration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Configuration"} + if s.Classification == nil { + invalidParams.Add(request.NewErrParamRequired("Classification")) + } + if s.Classification != nil && len(*s.Classification) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Classification", 1)) + } + if s.Configurations != nil { + for i, v := range s.Configurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassification sets the Classification field's value. +func (s *Configuration) SetClassification(v string) *Configuration { + s.Classification = &v + return s +} + +// SetConfigurations sets the Configurations field's value. +func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { + s.Configurations = v + return s +} + +// SetProperties sets the Properties field's value. +func (s *Configuration) SetProperties(v map[string]*string) *Configuration { + s.Properties = v + return s +} + +// A configuration specification to be used to override existing configurations. +type ConfigurationOverrides struct { + _ struct{} `type:"structure"` + + // The override configurations for the application. + ApplicationConfiguration []*Configuration `locationName:"applicationConfiguration" type:"list"` + + // The override configurations for monitoring. + MonitoringConfiguration *MonitoringConfiguration `locationName:"monitoringConfiguration" 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 ConfigurationOverrides) 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 ConfigurationOverrides) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfigurationOverrides) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfigurationOverrides"} + if s.ApplicationConfiguration != nil { + for i, v := range s.ApplicationConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ApplicationConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MonitoringConfiguration != nil { + if err := s.MonitoringConfiguration.Validate(); err != nil { + invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationConfiguration sets the ApplicationConfiguration field's value. +func (s *ConfigurationOverrides) SetApplicationConfiguration(v []*Configuration) *ConfigurationOverrides { + s.ApplicationConfiguration = v + return s +} + +// SetMonitoringConfiguration sets the MonitoringConfiguration field's value. +func (s *ConfigurationOverrides) SetMonitoringConfiguration(v *MonitoringConfiguration) *ConfigurationOverrides { + s.MonitoringConfiguration = v + return s +} + +// The request could not be processed because of conflict in the current state +// of the resource. +type ConflictException 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 ConflictException) 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 ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) 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 *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateApplicationInput struct { + _ struct{} `type:"structure"` + + // The configuration for an application to automatically start on job submission. + AutoStartConfiguration *AutoStartConfig `locationName:"autoStartConfiguration" type:"structure"` + + // The configuration for an application to automatically stop after a certain + // amount of time being idle. + AutoStopConfiguration *AutoStopConfig `locationName:"autoStopConfiguration" type:"structure"` + + // The client idempotency token of the application to create. Its value must + // be unique for each request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The capacity to initialize when the application is created. + InitialCapacity map[string]*InitialCapacityConfig `locationName:"initialCapacity" type:"map"` + + // The maximum capacity to allocate when the application is created. This is + // cumulative across all workers at any given point in time, not just when an + // application is created. No new resources will be created once any one of + // the defined limits is hit. + MaximumCapacity *MaximumAllowedResources `locationName:"maximumCapacity" type:"structure"` + + // The name of the application. + Name *string `locationName:"name" min:"1" type:"string"` + + // The network configuration for customer VPC connectivity. + NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` + + // The EMR release version associated with the application. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The tags assigned to the application. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The type of application you want to start, such as Spark or Hive. + // + // Type is a required field + Type *string `locationName:"type" 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 CreateApplicationInput) 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 CreateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ReleaseLabel == nil { + invalidParams.Add(request.NewErrParamRequired("ReleaseLabel")) + } + if s.ReleaseLabel != nil && len(*s.ReleaseLabel) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReleaseLabel", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + if s.AutoStopConfiguration != nil { + if err := s.AutoStopConfiguration.Validate(); err != nil { + invalidParams.AddNested("AutoStopConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.InitialCapacity != nil { + for i, v := range s.InitialCapacity { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InitialCapacity", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MaximumCapacity != nil { + if err := s.MaximumCapacity.Validate(); err != nil { + invalidParams.AddNested("MaximumCapacity", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoStartConfiguration sets the AutoStartConfiguration field's value. +func (s *CreateApplicationInput) SetAutoStartConfiguration(v *AutoStartConfig) *CreateApplicationInput { + s.AutoStartConfiguration = v + return s +} + +// SetAutoStopConfiguration sets the AutoStopConfiguration field's value. +func (s *CreateApplicationInput) SetAutoStopConfiguration(v *AutoStopConfig) *CreateApplicationInput { + s.AutoStopConfiguration = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateApplicationInput) SetClientToken(v string) *CreateApplicationInput { + s.ClientToken = &v + return s +} + +// SetInitialCapacity sets the InitialCapacity field's value. +func (s *CreateApplicationInput) SetInitialCapacity(v map[string]*InitialCapacityConfig) *CreateApplicationInput { + s.InitialCapacity = v + return s +} + +// SetMaximumCapacity sets the MaximumCapacity field's value. +func (s *CreateApplicationInput) SetMaximumCapacity(v *MaximumAllowedResources) *CreateApplicationInput { + s.MaximumCapacity = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationInput) SetName(v string) *CreateApplicationInput { + s.Name = &v + return s +} + +// SetNetworkConfiguration sets the NetworkConfiguration field's value. +func (s *CreateApplicationInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateApplicationInput { + s.NetworkConfiguration = v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *CreateApplicationInput) SetReleaseLabel(v string) *CreateApplicationInput { + s.ReleaseLabel = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateApplicationInput) SetType(v string) *CreateApplicationInput { + s.Type = &v + return s +} + +type CreateApplicationOutput struct { + _ struct{} `type:"structure"` + + // The output contains the application ID. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The output contains the ARN of the application. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The output contains the name of the application. + 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 CreateApplicationOutput) 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 CreateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput { + s.ApplicationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *CreateApplicationOutput) SetArn(v string) *CreateApplicationOutput { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput { + s.Name = &v + return s +} + +type DeleteApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application that will be deleted. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" 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 DeleteApplicationInput) 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 DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput { + s.ApplicationId = &v + return s +} + +type DeleteApplicationOutput 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 DeleteApplicationOutput) 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 DeleteApplicationOutput) GoString() string { + return s.String() +} + +type GetApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application that will be described. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" 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 GetApplicationInput) 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 GetApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput { + s.ApplicationId = &v + return s +} + +type GetApplicationOutput struct { + _ struct{} `type:"structure"` + + // The output displays information about the specified application. + // + // Application is a required field + Application *Application `locationName:"application" type:"structure" 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 GetApplicationOutput) 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 GetApplicationOutput) GoString() string { + return s.String() +} + +// SetApplication sets the Application field's value. +func (s *GetApplicationOutput) SetApplication(v *Application) *GetApplicationOutput { + s.Application = v + return s +} + +type GetJobRunInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application on which the job run is submitted. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The ID of the job run. + // + // JobRunId is a required field + JobRunId *string `location:"uri" locationName:"jobRunId" 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 GetJobRunInput) 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 GetJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobRunInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JobRunId == nil { + invalidParams.Add(request.NewErrParamRequired("JobRunId")) + } + if s.JobRunId != nil && len(*s.JobRunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetJobRunInput) SetApplicationId(v string) *GetJobRunInput { + s.ApplicationId = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *GetJobRunInput) SetJobRunId(v string) *GetJobRunInput { + s.JobRunId = &v + return s +} + +type GetJobRunOutput struct { + _ struct{} `type:"structure"` + + // The output displays information about the job run. + // + // JobRun is a required field + JobRun *JobRun `locationName:"jobRun" type:"structure" 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 GetJobRunOutput) 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 GetJobRunOutput) GoString() string { + return s.String() +} + +// SetJobRun sets the JobRun field's value. +func (s *GetJobRunOutput) SetJobRun(v *JobRun) *GetJobRunOutput { + s.JobRun = v + return s +} + +// The configurations for the Hive job driver. +type Hive struct { + _ struct{} `type:"structure"` + + // The query file for the Hive job run. + // + // InitQueryFile is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Hive's + // String and GoString methods. + InitQueryFile *string `locationName:"initQueryFile" min:"1" type:"string" sensitive:"true"` + + // The parameters for the Hive job run. + // + // Parameters is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Hive's + // String and GoString methods. + Parameters *string `locationName:"parameters" min:"1" type:"string" sensitive:"true"` + + // The query for the Hive job run. + // + // Query is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Hive's + // String and GoString methods. + // + // Query is a required field + Query *string `locationName:"query" min:"1" type:"string" 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 Hive) 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 Hive) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Hive) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Hive"} + if s.InitQueryFile != nil && len(*s.InitQueryFile) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InitQueryFile", 1)) + } + if s.Parameters != nil && len(*s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Query == nil { + invalidParams.Add(request.NewErrParamRequired("Query")) + } + if s.Query != nil && len(*s.Query) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Query", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInitQueryFile sets the InitQueryFile field's value. +func (s *Hive) SetInitQueryFile(v string) *Hive { + s.InitQueryFile = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Hive) SetParameters(v string) *Hive { + s.Parameters = &v + return s +} + +// SetQuery sets the Query field's value. +func (s *Hive) SetQuery(v string) *Hive { + s.Query = &v + return s +} + +// The initial capacity configuration per worker. +type InitialCapacityConfig struct { + _ struct{} `type:"structure"` + + // The resource configuration of the initial capacity configuration. + WorkerConfiguration *WorkerResourceConfig `locationName:"workerConfiguration" type:"structure"` + + // The number of workers in the initial capacity configuration. + // + // WorkerCount is a required field + WorkerCount *int64 `locationName:"workerCount" min:"1" type:"long" 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 InitialCapacityConfig) 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 InitialCapacityConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InitialCapacityConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InitialCapacityConfig"} + if s.WorkerCount == nil { + invalidParams.Add(request.NewErrParamRequired("WorkerCount")) + } + if s.WorkerCount != nil && *s.WorkerCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("WorkerCount", 1)) + } + if s.WorkerConfiguration != nil { + if err := s.WorkerConfiguration.Validate(); err != nil { + invalidParams.AddNested("WorkerConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkerConfiguration sets the WorkerConfiguration field's value. +func (s *InitialCapacityConfig) SetWorkerConfiguration(v *WorkerResourceConfig) *InitialCapacityConfig { + s.WorkerConfiguration = v + return s +} + +// SetWorkerCount sets the WorkerCount field's value. +func (s *InitialCapacityConfig) SetWorkerCount(v int64) *InitialCapacityConfig { + s.WorkerCount = &v + return s +} + +// Request processing failed because of an error or failure with the service. +type InternalServerException 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 InternalServerException) 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 InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The driver that the job runs on. +type JobDriver struct { + _ struct{} `type:"structure"` + + // The job driver parameters specified for Hive. + Hive *Hive `locationName:"hive" type:"structure"` + + // The job driver parameters specified for Spark. + SparkSubmit *SparkSubmit `locationName:"sparkSubmit" 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 JobDriver) 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 JobDriver) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobDriver) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobDriver"} + if s.Hive != nil { + if err := s.Hive.Validate(); err != nil { + invalidParams.AddNested("Hive", err.(request.ErrInvalidParams)) + } + } + if s.SparkSubmit != nil { + if err := s.SparkSubmit.Validate(); err != nil { + invalidParams.AddNested("SparkSubmit", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHive sets the Hive field's value. +func (s *JobDriver) SetHive(v *Hive) *JobDriver { + s.Hive = v + return s +} + +// SetSparkSubmit sets the SparkSubmit field's value. +func (s *JobDriver) SetSparkSubmit(v *SparkSubmit) *JobDriver { + s.SparkSubmit = v + return s +} + +// Information about a job run. A job run is a unit of work, such as a Spark +// JAR, Hive query, or SparkSQL query, that you submit to an EMR Serverless +// application. +type JobRun struct { + _ struct{} `type:"structure"` + + // The ID of the application the job is running on. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The execution role ARN of the job run. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The configuration settings that are used to override default configuration. + ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"` + + // The date and time when the job run was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The user who created the job run. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" min:"20" type:"string" required:"true"` + + // The execution role ARN of the job run. + // + // ExecutionRole is a required field + ExecutionRole *string `locationName:"executionRole" min:"20" type:"string" required:"true"` + + // The job driver for the job run. + // + // JobDriver is a required field + JobDriver *JobDriver `locationName:"jobDriver" type:"structure" required:"true"` + + // The ID of the job run. + // + // JobRunId is a required field + JobRunId *string `locationName:"jobRunId" min:"1" type:"string" required:"true"` + + // The optional job run name. This doesn't have to be unique. + Name *string `locationName:"name" min:"1" type:"string"` + + // The network configuration for customer VPC connectivity. + NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` + + // The EMR release version associated with the application your job is running + // on. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The state of the job run. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"JobRunState"` + + // The state details of the job run. + // + // StateDetails is a required field + StateDetails *string `locationName:"stateDetails" min:"1" type:"string" required:"true"` + + // The tags assigned to the job run. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The job run total execution duration in seconds. This field is only available + // for job runs in a COMPLETED, FAILED, or CANCELLED state. + TotalExecutionDurationSeconds *int64 `locationName:"totalExecutionDurationSeconds" type:"integer"` + + // The aggregate vCPU, memory, and storage resources used from the time job + // start executing till the time job is terminated, rounded up to the nearest + // second. + TotalResourceUtilization *TotalResourceUtilization `locationName:"totalResourceUtilization" type:"structure"` + + // The date and time when the job run was updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" 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 JobRun) 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 JobRun) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *JobRun) SetApplicationId(v string) *JobRun { + s.ApplicationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *JobRun) SetArn(v string) *JobRun { + s.Arn = &v + return s +} + +// SetConfigurationOverrides sets the ConfigurationOverrides field's value. +func (s *JobRun) SetConfigurationOverrides(v *ConfigurationOverrides) *JobRun { + s.ConfigurationOverrides = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *JobRun) SetCreatedAt(v time.Time) *JobRun { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *JobRun) SetCreatedBy(v string) *JobRun { + s.CreatedBy = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *JobRun) SetExecutionRole(v string) *JobRun { + s.ExecutionRole = &v + return s +} + +// SetJobDriver sets the JobDriver field's value. +func (s *JobRun) SetJobDriver(v *JobDriver) *JobRun { + s.JobDriver = v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *JobRun) SetJobRunId(v string) *JobRun { + s.JobRunId = &v + return s +} + +// SetName sets the Name field's value. +func (s *JobRun) SetName(v string) *JobRun { + s.Name = &v + return s +} + +// SetNetworkConfiguration sets the NetworkConfiguration field's value. +func (s *JobRun) SetNetworkConfiguration(v *NetworkConfiguration) *JobRun { + s.NetworkConfiguration = v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *JobRun) SetReleaseLabel(v string) *JobRun { + s.ReleaseLabel = &v + return s +} + +// SetState sets the State field's value. +func (s *JobRun) SetState(v string) *JobRun { + s.State = &v + return s +} + +// SetStateDetails sets the StateDetails field's value. +func (s *JobRun) SetStateDetails(v string) *JobRun { + s.StateDetails = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *JobRun) SetTags(v map[string]*string) *JobRun { + s.Tags = v + return s +} + +// SetTotalExecutionDurationSeconds sets the TotalExecutionDurationSeconds field's value. +func (s *JobRun) SetTotalExecutionDurationSeconds(v int64) *JobRun { + s.TotalExecutionDurationSeconds = &v + return s +} + +// SetTotalResourceUtilization sets the TotalResourceUtilization field's value. +func (s *JobRun) SetTotalResourceUtilization(v *TotalResourceUtilization) *JobRun { + s.TotalResourceUtilization = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *JobRun) SetUpdatedAt(v time.Time) *JobRun { + s.UpdatedAt = &v + return s +} + +// The summary of attributes associated with a job run. +type JobRunSummary struct { + _ struct{} `type:"structure"` + + // The ID of the application the job is running on. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The ARN of the job run. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The date and time when the job run was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The user who created the job run. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" min:"20" type:"string" required:"true"` + + // The execution role ARN of the job run. + // + // ExecutionRole is a required field + ExecutionRole *string `locationName:"executionRole" min:"20" type:"string" required:"true"` + + // The ID of the job run. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` + + // The optional job run name. This doesn't have to be unique. + Name *string `locationName:"name" min:"1" type:"string"` + + // The EMR release version associated with the application your job is running + // on. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The state of the job run. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"JobRunState"` + + // The state details of the job run. + // + // StateDetails is a required field + StateDetails *string `locationName:"stateDetails" min:"1" type:"string" required:"true"` + + // The type of job run, such as Spark or Hive. + Type *string `locationName:"type" type:"string"` + + // The date and time when the job run was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" 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 JobRunSummary) 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 JobRunSummary) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *JobRunSummary) SetApplicationId(v string) *JobRunSummary { + s.ApplicationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *JobRunSummary) SetArn(v string) *JobRunSummary { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *JobRunSummary) SetCreatedAt(v time.Time) *JobRunSummary { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *JobRunSummary) SetCreatedBy(v string) *JobRunSummary { + s.CreatedBy = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *JobRunSummary) SetExecutionRole(v string) *JobRunSummary { + s.ExecutionRole = &v + return s +} + +// SetId sets the Id field's value. +func (s *JobRunSummary) SetId(v string) *JobRunSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *JobRunSummary) SetName(v string) *JobRunSummary { + s.Name = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *JobRunSummary) SetReleaseLabel(v string) *JobRunSummary { + s.ReleaseLabel = &v + return s +} + +// SetState sets the State field's value. +func (s *JobRunSummary) SetState(v string) *JobRunSummary { + s.State = &v + return s +} + +// SetStateDetails sets the StateDetails field's value. +func (s *JobRunSummary) SetStateDetails(v string) *JobRunSummary { + s.StateDetails = &v + return s +} + +// SetType sets the Type field's value. +func (s *JobRunSummary) SetType(v string) *JobRunSummary { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *JobRunSummary) SetUpdatedAt(v time.Time) *JobRunSummary { + s.UpdatedAt = &v + return s +} + +type ListApplicationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of applications that can be listed. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of application results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // An optional filter for application states. Note that if this filter contains + // multiple states, the resulting list will be grouped by the state. + States []*string `location:"querystring" locationName:"states" min:"1" type:"list" enum:"ApplicationState"` +} + +// 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 ListApplicationsInput) 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 ListApplicationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.States != nil && len(s.States) < 1 { + invalidParams.Add(request.NewErrParamMinLen("States", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput { + s.NextToken = &v + return s +} + +// SetStates sets the States field's value. +func (s *ListApplicationsInput) SetStates(v []*string) *ListApplicationsInput { + s.States = v + return s +} + +type ListApplicationsOutput struct { + _ struct{} `type:"structure"` + + // The output lists the specified applications. + // + // Applications is a required field + Applications []*ApplicationSummary `locationName:"applications" type:"list" required:"true"` + + // The output displays the token for the next set of application results. This + // is required for pagination and is available as a response of the previous + // request. + NextToken *string `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 ListApplicationsOutput) 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 ListApplicationsOutput) GoString() string { + return s.String() +} + +// SetApplications sets the Applications field's value. +func (s *ListApplicationsOutput) SetApplications(v []*ApplicationSummary) *ListApplicationsOutput { + s.Applications = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput { + s.NextToken = &v + return s +} + +type ListJobRunsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application for which to list the job run. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The lower bound of the option to filter by creation date and time. + CreatedAtAfter *time.Time `location:"querystring" locationName:"createdAtAfter" type:"timestamp"` + + // The upper bound of the option to filter by creation date and time. + CreatedAtBefore *time.Time `location:"querystring" locationName:"createdAtBefore" type:"timestamp"` + + // The maximum number of job runs that can be listed. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of job run results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // An optional filter for job run states. Note that if this filter contains + // multiple states, the resulting list will be grouped by the state. + States []*string `location:"querystring" locationName:"states" type:"list" enum:"JobRunState"` +} + +// 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 ListJobRunsInput) 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 ListJobRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobRunsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListJobRunsInput) SetApplicationId(v string) *ListJobRunsInput { + s.ApplicationId = &v + return s +} + +// SetCreatedAtAfter sets the CreatedAtAfter field's value. +func (s *ListJobRunsInput) SetCreatedAtAfter(v time.Time) *ListJobRunsInput { + s.CreatedAtAfter = &v + return s +} + +// SetCreatedAtBefore sets the CreatedAtBefore field's value. +func (s *ListJobRunsInput) SetCreatedAtBefore(v time.Time) *ListJobRunsInput { + s.CreatedAtBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListJobRunsInput) SetMaxResults(v int64) *ListJobRunsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobRunsInput) SetNextToken(v string) *ListJobRunsInput { + s.NextToken = &v + return s +} + +// SetStates sets the States field's value. +func (s *ListJobRunsInput) SetStates(v []*string) *ListJobRunsInput { + s.States = v + return s +} + +type ListJobRunsOutput struct { + _ struct{} `type:"structure"` + + // The output lists information about the specified job runs. + // + // JobRuns is a required field + JobRuns []*JobRunSummary `locationName:"jobRuns" type:"list" required:"true"` + + // The output displays the token for the next set of job run results. This is + // required for pagination and is available as a response of the previous request. + NextToken *string `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 ListJobRunsOutput) 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 ListJobRunsOutput) GoString() string { + return s.String() +} + +// SetJobRuns sets the JobRuns field's value. +func (s *ListJobRunsOutput) SetJobRuns(v []*JobRunSummary) *ListJobRunsOutput { + s.JobRuns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJobRunsOutput) SetNextToken(v string) *ListJobRunsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) that identifies the resource to list the tags + // for. Currently, the supported resources are Amazon EMR Serverless applications + // and job runs. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 60 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the resource. + 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 ListTagsForResourceOutput) 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 ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// The managed log persistence configuration for a job run. +type ManagedPersistenceMonitoringConfiguration struct { + _ struct{} `type:"structure"` + + // Enables managed logging and defaults to true. If set to false, managed logging + // will be turned off. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The KMS key ARN to encrypt the logs stored in managed log persistence. + EncryptionKeyArn *string `locationName:"encryptionKeyArn" min:"20" 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 ManagedPersistenceMonitoringConfiguration) 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 ManagedPersistenceMonitoringConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ManagedPersistenceMonitoringConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ManagedPersistenceMonitoringConfiguration"} + if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *ManagedPersistenceMonitoringConfiguration) SetEnabled(v bool) *ManagedPersistenceMonitoringConfiguration { + s.Enabled = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *ManagedPersistenceMonitoringConfiguration) SetEncryptionKeyArn(v string) *ManagedPersistenceMonitoringConfiguration { + s.EncryptionKeyArn = &v + return s +} + +// The maximum allowed cumulative resources for an application. No new resources +// will be created once the limit is hit. +type MaximumAllowedResources struct { + _ struct{} `type:"structure"` + + // The maximum allowed CPU for an application. + // + // Cpu is a required field + Cpu *string `locationName:"cpu" min:"1" type:"string" required:"true"` + + // The maximum allowed disk for an application. + Disk *string `locationName:"disk" min:"1" type:"string"` + + // The maximum allowed resources for an application. + // + // Memory is a required field + Memory *string `locationName:"memory" 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 MaximumAllowedResources) 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 MaximumAllowedResources) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaximumAllowedResources) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaximumAllowedResources"} + if s.Cpu == nil { + invalidParams.Add(request.NewErrParamRequired("Cpu")) + } + if s.Cpu != nil && len(*s.Cpu) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Cpu", 1)) + } + if s.Disk != nil && len(*s.Disk) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Disk", 1)) + } + if s.Memory == nil { + invalidParams.Add(request.NewErrParamRequired("Memory")) + } + if s.Memory != nil && len(*s.Memory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Memory", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCpu sets the Cpu field's value. +func (s *MaximumAllowedResources) SetCpu(v string) *MaximumAllowedResources { + s.Cpu = &v + return s +} + +// SetDisk sets the Disk field's value. +func (s *MaximumAllowedResources) SetDisk(v string) *MaximumAllowedResources { + s.Disk = &v + return s +} + +// SetMemory sets the Memory field's value. +func (s *MaximumAllowedResources) SetMemory(v string) *MaximumAllowedResources { + s.Memory = &v + return s +} + +// The configuration setting for monitoring. +type MonitoringConfiguration struct { + _ struct{} `type:"structure"` + + // The managed log persistence configuration for a job run. + ManagedPersistenceMonitoringConfiguration *ManagedPersistenceMonitoringConfiguration `locationName:"managedPersistenceMonitoringConfiguration" type:"structure"` + + // The Amazon S3 configuration for monitoring log publishing. + S3MonitoringConfiguration *S3MonitoringConfiguration `locationName:"s3MonitoringConfiguration" 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 MonitoringConfiguration) 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 MonitoringConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MonitoringConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MonitoringConfiguration"} + if s.ManagedPersistenceMonitoringConfiguration != nil { + if err := s.ManagedPersistenceMonitoringConfiguration.Validate(); err != nil { + invalidParams.AddNested("ManagedPersistenceMonitoringConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3MonitoringConfiguration != nil { + if err := s.S3MonitoringConfiguration.Validate(); err != nil { + invalidParams.AddNested("S3MonitoringConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetManagedPersistenceMonitoringConfiguration sets the ManagedPersistenceMonitoringConfiguration field's value. +func (s *MonitoringConfiguration) SetManagedPersistenceMonitoringConfiguration(v *ManagedPersistenceMonitoringConfiguration) *MonitoringConfiguration { + s.ManagedPersistenceMonitoringConfiguration = v + return s +} + +// SetS3MonitoringConfiguration sets the S3MonitoringConfiguration field's value. +func (s *MonitoringConfiguration) SetS3MonitoringConfiguration(v *S3MonitoringConfiguration) *MonitoringConfiguration { + s.S3MonitoringConfiguration = v + return s +} + +// The network configuration for customer VPC connectivity. +type NetworkConfiguration struct { + _ struct{} `type:"structure"` + + // The array of security group Ids for customer VPC connectivity. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The array of subnet Ids for customer VPC connectivity. + SubnetIds []*string `locationName:"subnetIds" 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 NetworkConfiguration) 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 NetworkConfiguration) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *NetworkConfiguration) SetSecurityGroupIds(v []*string) *NetworkConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *NetworkConfiguration) SetSubnetIds(v []*string) *NetworkConfiguration { + s.SubnetIds = v + return s +} + +// The specified resource was not found. +type ResourceNotFoundException 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 ResourceNotFoundException) 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 ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) 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 *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The Amazon S3 configuration for monitoring log publishing. You can configure +// your jobs to send log information to Amazon S3. +type S3MonitoringConfiguration struct { + _ struct{} `type:"structure"` + + // The KMS key ARN to encrypt the logs published to the given Amazon S3 destination. + EncryptionKeyArn *string `locationName:"encryptionKeyArn" min:"20" type:"string"` + + // The Amazon S3 destination URI for log publishing. + LogUri *string `locationName:"logUri" 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 S3MonitoringConfiguration) 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 S3MonitoringConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3MonitoringConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3MonitoringConfiguration"} + if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20)) + } + if s.LogUri != nil && len(*s.LogUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogUri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *S3MonitoringConfiguration) SetEncryptionKeyArn(v string) *S3MonitoringConfiguration { + s.EncryptionKeyArn = &v + return s +} + +// SetLogUri sets the LogUri field's value. +func (s *S3MonitoringConfiguration) SetLogUri(v string) *S3MonitoringConfiguration { + s.LogUri = &v + return s +} + +// The maximum number of resources per account has been reached. +type ServiceQuotaExceededException 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 ServiceQuotaExceededException) 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 ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) 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 *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The configurations for the Spark submit job driver. +type SparkSubmit struct { + _ struct{} `type:"structure"` + + // The entry point for the Spark submit job run. + // + // EntryPoint is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SparkSubmit's + // String and GoString methods. + // + // EntryPoint is a required field + EntryPoint *string `locationName:"entryPoint" min:"1" type:"string" required:"true" sensitive:"true"` + + // The arguments for the Spark submit job run. + EntryPointArguments []*string `locationName:"entryPointArguments" type:"list"` + + // The parameters for the Spark submit job run. + // + // SparkSubmitParameters is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SparkSubmit's + // String and GoString methods. + SparkSubmitParameters *string `locationName:"sparkSubmitParameters" min:"1" type:"string" 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 SparkSubmit) 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 SparkSubmit) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SparkSubmit) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SparkSubmit"} + if s.EntryPoint == nil { + invalidParams.Add(request.NewErrParamRequired("EntryPoint")) + } + if s.EntryPoint != nil && len(*s.EntryPoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryPoint", 1)) + } + if s.SparkSubmitParameters != nil && len(*s.SparkSubmitParameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SparkSubmitParameters", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntryPoint sets the EntryPoint field's value. +func (s *SparkSubmit) SetEntryPoint(v string) *SparkSubmit { + s.EntryPoint = &v + return s +} + +// SetEntryPointArguments sets the EntryPointArguments field's value. +func (s *SparkSubmit) SetEntryPointArguments(v []*string) *SparkSubmit { + s.EntryPointArguments = v + return s +} + +// SetSparkSubmitParameters sets the SparkSubmitParameters field's value. +func (s *SparkSubmit) SetSparkSubmitParameters(v string) *SparkSubmit { + s.SparkSubmitParameters = &v + return s +} + +type StartApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application to start. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" 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 StartApplicationInput) 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 StartApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StartApplicationInput) SetApplicationId(v string) *StartApplicationInput { + s.ApplicationId = &v + return s +} + +type StartApplicationOutput 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 StartApplicationOutput) 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 StartApplicationOutput) GoString() string { + return s.String() +} + +type StartJobRunInput struct { + _ struct{} `type:"structure"` + + // The ID of the application on which to run the job. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The client idempotency token of the job run to start. Its value must be unique + // for each request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The configuration overrides for the job run. + ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"` + + // The execution role ARN for the job run. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string" required:"true"` + + // The maximum duration for the job run to run. If the job run runs beyond this + // duration, it will be automatically cancelled. + ExecutionTimeoutMinutes *int64 `locationName:"executionTimeoutMinutes" type:"long"` + + // The job driver for the job run. + JobDriver *JobDriver `locationName:"jobDriver" type:"structure"` + + // The optional job run name. This doesn't have to be unique. + Name *string `locationName:"name" min:"1" type:"string"` + + // The tags assigned to the job run. + 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 StartJobRunInput) 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 StartJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartJobRunInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ExecutionRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) + } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ConfigurationOverrides != nil { + if err := s.ConfigurationOverrides.Validate(); err != nil { + invalidParams.AddNested("ConfigurationOverrides", err.(request.ErrInvalidParams)) + } + } + if s.JobDriver != nil { + if err := s.JobDriver.Validate(); err != nil { + invalidParams.AddNested("JobDriver", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StartJobRunInput) SetApplicationId(v string) *StartJobRunInput { + s.ApplicationId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartJobRunInput) SetClientToken(v string) *StartJobRunInput { + s.ClientToken = &v + return s +} + +// SetConfigurationOverrides sets the ConfigurationOverrides field's value. +func (s *StartJobRunInput) SetConfigurationOverrides(v *ConfigurationOverrides) *StartJobRunInput { + s.ConfigurationOverrides = v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *StartJobRunInput) SetExecutionRoleArn(v string) *StartJobRunInput { + s.ExecutionRoleArn = &v + return s +} + +// SetExecutionTimeoutMinutes sets the ExecutionTimeoutMinutes field's value. +func (s *StartJobRunInput) SetExecutionTimeoutMinutes(v int64) *StartJobRunInput { + s.ExecutionTimeoutMinutes = &v + return s +} + +// SetJobDriver sets the JobDriver field's value. +func (s *StartJobRunInput) SetJobDriver(v *JobDriver) *StartJobRunInput { + s.JobDriver = v + return s +} + +// SetName sets the Name field's value. +func (s *StartJobRunInput) SetName(v string) *StartJobRunInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartJobRunInput) SetTags(v map[string]*string) *StartJobRunInput { + s.Tags = v + return s +} + +type StartJobRunOutput struct { + _ struct{} `type:"structure"` + + // This output displays the application ID on which the job run was submitted. + // + // ApplicationId is a required field + ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The output lists the execution role ARN of the job run. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"60" type:"string" required:"true"` + + // The output contains the ID of the started job run. + // + // JobRunId is a required field + JobRunId *string `locationName:"jobRunId" 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 StartJobRunOutput) 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 StartJobRunOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StartJobRunOutput) SetApplicationId(v string) *StartJobRunOutput { + s.ApplicationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *StartJobRunOutput) SetArn(v string) *StartJobRunOutput { + s.Arn = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *StartJobRunOutput) SetJobRunId(v string) *StartJobRunOutput { + s.JobRunId = &v + return s +} + +type StopApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application to stop. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" 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 StopApplicationInput) 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 StopApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StopApplicationInput) SetApplicationId(v string) *StopApplicationInput { + s.ApplicationId = &v + return s +} + +type StopApplicationOutput 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 StopApplicationOutput) 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 StopApplicationOutput) GoString() string { + return s.String() +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource to list the tags + // for. Currently, the supported resources are Amazon EMR Serverless applications + // and job runs. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" type:"string" required:"true"` + + // The tags to add to the resource. A tag is an array of key-value pairs. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" 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 TagResourceInput) 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 TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 60 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput 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 TagResourceOutput) 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 TagResourceOutput) GoString() string { + return s.String() +} + +// The aggregate vCPU, memory, and storage resources used from the time job +// start executing till the time job is terminated, rounded up to the nearest +// second. +type TotalResourceUtilization struct { + _ struct{} `type:"structure"` + + // The aggregated memory used per hour from the time job start executing till + // the time job is terminated. + MemoryGBHour *float64 `locationName:"memoryGBHour" type:"double"` + + // The aggregated storage used per hour from the time job start executing till + // the time job is terminated. + StorageGBHour *float64 `locationName:"storageGBHour" type:"double"` + + // The aggregated vCPU used per hour from the time job start executing till + // the time job is terminated. + VCPUHour *float64 `locationName:"vCPUHour" type:"double"` +} + +// 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 TotalResourceUtilization) 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 TotalResourceUtilization) GoString() string { + return s.String() +} + +// SetMemoryGBHour sets the MemoryGBHour field's value. +func (s *TotalResourceUtilization) SetMemoryGBHour(v float64) *TotalResourceUtilization { + s.MemoryGBHour = &v + return s +} + +// SetStorageGBHour sets the StorageGBHour field's value. +func (s *TotalResourceUtilization) SetStorageGBHour(v float64) *TotalResourceUtilization { + s.StorageGBHour = &v + return s +} + +// SetVCPUHour sets the VCPUHour field's value. +func (s *TotalResourceUtilization) SetVCPUHour(v float64) *TotalResourceUtilization { + s.VCPUHour = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) that identifies the resource to list the tags + // for. Currently, the supported resources are Amazon EMR Serverless applications + // and job runs. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" 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 UntagResourceInput) 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 UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 60 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput 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 UntagResourceOutput) 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 UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateApplicationInput struct { + _ struct{} `type:"structure"` + + // The ID of the application to update. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The configuration for an application to automatically start on job submission. + AutoStartConfiguration *AutoStartConfig `locationName:"autoStartConfiguration" type:"structure"` + + // The configuration for an application to automatically stop after a certain + // amount of time being idle. + AutoStopConfiguration *AutoStopConfig `locationName:"autoStopConfiguration" type:"structure"` + + // The client idempotency token of the application to update. Its value must + // be unique for each request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The capacity to initialize when the application is updated. + InitialCapacity map[string]*InitialCapacityConfig `locationName:"initialCapacity" type:"map"` + + // The maximum capacity to allocate when the application is updated. This is + // cumulative across all workers at any given point in time during the lifespan + // of the application. No new resources will be created once any one of the + // defined limits is hit. + MaximumCapacity *MaximumAllowedResources `locationName:"maximumCapacity" type:"structure"` + + // The network configuration for customer VPC connectivity. + NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" 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 UpdateApplicationInput) 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 UpdateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.AutoStopConfiguration != nil { + if err := s.AutoStopConfiguration.Validate(); err != nil { + invalidParams.AddNested("AutoStopConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.InitialCapacity != nil { + for i, v := range s.InitialCapacity { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InitialCapacity", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MaximumCapacity != nil { + if err := s.MaximumCapacity.Validate(); err != nil { + invalidParams.AddNested("MaximumCapacity", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput { + s.ApplicationId = &v + return s +} + +// SetAutoStartConfiguration sets the AutoStartConfiguration field's value. +func (s *UpdateApplicationInput) SetAutoStartConfiguration(v *AutoStartConfig) *UpdateApplicationInput { + s.AutoStartConfiguration = v + return s +} + +// SetAutoStopConfiguration sets the AutoStopConfiguration field's value. +func (s *UpdateApplicationInput) SetAutoStopConfiguration(v *AutoStopConfig) *UpdateApplicationInput { + s.AutoStopConfiguration = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateApplicationInput) SetClientToken(v string) *UpdateApplicationInput { + s.ClientToken = &v + return s +} + +// SetInitialCapacity sets the InitialCapacity field's value. +func (s *UpdateApplicationInput) SetInitialCapacity(v map[string]*InitialCapacityConfig) *UpdateApplicationInput { + s.InitialCapacity = v + return s +} + +// SetMaximumCapacity sets the MaximumCapacity field's value. +func (s *UpdateApplicationInput) SetMaximumCapacity(v *MaximumAllowedResources) *UpdateApplicationInput { + s.MaximumCapacity = v + return s +} + +// SetNetworkConfiguration sets the NetworkConfiguration field's value. +func (s *UpdateApplicationInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateApplicationInput { + s.NetworkConfiguration = v + return s +} + +type UpdateApplicationOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated application. + // + // Application is a required field + Application *Application `locationName:"application" type:"structure" 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 UpdateApplicationOutput) 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 UpdateApplicationOutput) GoString() string { + return s.String() +} + +// SetApplication sets the Application field's value. +func (s *UpdateApplicationOutput) SetApplication(v *Application) *UpdateApplicationOutput { + s.Application = v + return s +} + +// The input fails to satisfy the constraints specified by an AWS service. +type ValidationException 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 ValidationException) 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 ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) 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 *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The cumulative configuration requirements for every worker instance of the +// worker type. +type WorkerResourceConfig struct { + _ struct{} `type:"structure"` + + // The CPU requirements for every worker instance of the worker type. + // + // Cpu is a required field + Cpu *string `locationName:"cpu" min:"1" type:"string" required:"true"` + + // The disk requirements for every worker instance of the worker type. + Disk *string `locationName:"disk" min:"1" type:"string"` + + // The memory requirements for every worker instance of the worker type. + // + // Memory is a required field + Memory *string `locationName:"memory" 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 WorkerResourceConfig) 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 WorkerResourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkerResourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkerResourceConfig"} + if s.Cpu == nil { + invalidParams.Add(request.NewErrParamRequired("Cpu")) + } + if s.Cpu != nil && len(*s.Cpu) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Cpu", 1)) + } + if s.Disk != nil && len(*s.Disk) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Disk", 1)) + } + if s.Memory == nil { + invalidParams.Add(request.NewErrParamRequired("Memory")) + } + if s.Memory != nil && len(*s.Memory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Memory", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCpu sets the Cpu field's value. +func (s *WorkerResourceConfig) SetCpu(v string) *WorkerResourceConfig { + s.Cpu = &v + return s +} + +// SetDisk sets the Disk field's value. +func (s *WorkerResourceConfig) SetDisk(v string) *WorkerResourceConfig { + s.Disk = &v + return s +} + +// SetMemory sets the Memory field's value. +func (s *WorkerResourceConfig) SetMemory(v string) *WorkerResourceConfig { + s.Memory = &v + return s +} + +const ( + // ApplicationStateCreating is a ApplicationState enum value + ApplicationStateCreating = "CREATING" + + // ApplicationStateCreated is a ApplicationState enum value + ApplicationStateCreated = "CREATED" + + // ApplicationStateStarting is a ApplicationState enum value + ApplicationStateStarting = "STARTING" + + // ApplicationStateStarted is a ApplicationState enum value + ApplicationStateStarted = "STARTED" + + // ApplicationStateStopping is a ApplicationState enum value + ApplicationStateStopping = "STOPPING" + + // ApplicationStateStopped is a ApplicationState enum value + ApplicationStateStopped = "STOPPED" + + // ApplicationStateTerminated is a ApplicationState enum value + ApplicationStateTerminated = "TERMINATED" +) + +// ApplicationState_Values returns all elements of the ApplicationState enum +func ApplicationState_Values() []string { + return []string{ + ApplicationStateCreating, + ApplicationStateCreated, + ApplicationStateStarting, + ApplicationStateStarted, + ApplicationStateStopping, + ApplicationStateStopped, + ApplicationStateTerminated, + } +} + +const ( + // JobRunStateSubmitted is a JobRunState enum value + JobRunStateSubmitted = "SUBMITTED" + + // JobRunStatePending is a JobRunState enum value + JobRunStatePending = "PENDING" + + // JobRunStateScheduled is a JobRunState enum value + JobRunStateScheduled = "SCHEDULED" + + // JobRunStateRunning is a JobRunState enum value + JobRunStateRunning = "RUNNING" + + // JobRunStateSuccess is a JobRunState enum value + JobRunStateSuccess = "SUCCESS" + + // JobRunStateFailed is a JobRunState enum value + JobRunStateFailed = "FAILED" + + // JobRunStateCancelling is a JobRunState enum value + JobRunStateCancelling = "CANCELLING" + + // JobRunStateCancelled is a JobRunState enum value + JobRunStateCancelled = "CANCELLED" +) + +// JobRunState_Values returns all elements of the JobRunState enum +func JobRunState_Values() []string { + return []string{ + JobRunStateSubmitted, + JobRunStatePending, + JobRunStateScheduled, + JobRunStateRunning, + JobRunStateSuccess, + JobRunStateFailed, + JobRunStateCancelling, + JobRunStateCancelled, + } +} diff --git a/service/emrserverless/doc.go b/service/emrserverless/doc.go new file mode 100644 index 00000000000..4cf7bca4cf5 --- /dev/null +++ b/service/emrserverless/doc.go @@ -0,0 +1,45 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package emrserverless provides the client and types for making API +// requests to EMR Serverless. +// +// Amazon EMR Serverless is a new deployment option for Amazon EMR. EMR Serverless +// provides a serverless runtime environment that simplifies running analytics +// applications using the latest open source frameworks such as Apache Spark +// and Apache Hive. With EMR Serverless, you don’t have to configure, optimize, +// secure, or operate clusters to run applications with these frameworks. +// +// The API reference to Amazon EMR Serverless is emr-serverless. The emr-serverless +// prefix is used in the following scenarios: +// +// * It is the prefix in the CLI commands for Amazon EMR Serverless. For +// example, aws emr-serverless start-job-run. +// +// * It is the prefix before IAM policy actions for Amazon EMR Serverless. +// For example, "Action": ["emr-serverless:StartJobRun"]. For more information, +// see Policy actions for Amazon EMR Serverless (https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions). +// +// * It is the prefix used in Amazon EMR Serverless service endpoints. For +// example, emr-serverless.us-east-2.amazonaws.com. +// +// See https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13 for more information on this service. +// +// See emrserverless package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/emrserverless/ +// +// Using the Client +// +// To contact EMR Serverless with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the EMR Serverless client EMRServerless for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/emrserverless/#New +package emrserverless diff --git a/service/emrserverless/emrserverlessiface/interface.go b/service/emrserverless/emrserverlessiface/interface.go new file mode 100644 index 00000000000..6f8ccf809ed --- /dev/null +++ b/service/emrserverless/emrserverlessiface/interface.go @@ -0,0 +1,126 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package emrserverlessiface provides an interface to enable mocking the EMR Serverless service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package emrserverlessiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/emrserverless" +) + +// EMRServerlessAPI provides an interface to enable mocking the +// emrserverless.EMRServerless service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // EMR Serverless. +// func myFunc(svc emrserverlessiface.EMRServerlessAPI) bool { +// // Make svc.CancelJobRun request +// } +// +// func main() { +// sess := session.New() +// svc := emrserverless.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockEMRServerlessClient struct { +// emrserverlessiface.EMRServerlessAPI +// } +// func (m *mockEMRServerlessClient) CancelJobRun(input *emrserverless.CancelJobRunInput) (*emrserverless.CancelJobRunOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockEMRServerlessClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type EMRServerlessAPI interface { + CancelJobRun(*emrserverless.CancelJobRunInput) (*emrserverless.CancelJobRunOutput, error) + CancelJobRunWithContext(aws.Context, *emrserverless.CancelJobRunInput, ...request.Option) (*emrserverless.CancelJobRunOutput, error) + CancelJobRunRequest(*emrserverless.CancelJobRunInput) (*request.Request, *emrserverless.CancelJobRunOutput) + + CreateApplication(*emrserverless.CreateApplicationInput) (*emrserverless.CreateApplicationOutput, error) + CreateApplicationWithContext(aws.Context, *emrserverless.CreateApplicationInput, ...request.Option) (*emrserverless.CreateApplicationOutput, error) + CreateApplicationRequest(*emrserverless.CreateApplicationInput) (*request.Request, *emrserverless.CreateApplicationOutput) + + DeleteApplication(*emrserverless.DeleteApplicationInput) (*emrserverless.DeleteApplicationOutput, error) + DeleteApplicationWithContext(aws.Context, *emrserverless.DeleteApplicationInput, ...request.Option) (*emrserverless.DeleteApplicationOutput, error) + DeleteApplicationRequest(*emrserverless.DeleteApplicationInput) (*request.Request, *emrserverless.DeleteApplicationOutput) + + GetApplication(*emrserverless.GetApplicationInput) (*emrserverless.GetApplicationOutput, error) + GetApplicationWithContext(aws.Context, *emrserverless.GetApplicationInput, ...request.Option) (*emrserverless.GetApplicationOutput, error) + GetApplicationRequest(*emrserverless.GetApplicationInput) (*request.Request, *emrserverless.GetApplicationOutput) + + GetJobRun(*emrserverless.GetJobRunInput) (*emrserverless.GetJobRunOutput, error) + GetJobRunWithContext(aws.Context, *emrserverless.GetJobRunInput, ...request.Option) (*emrserverless.GetJobRunOutput, error) + GetJobRunRequest(*emrserverless.GetJobRunInput) (*request.Request, *emrserverless.GetJobRunOutput) + + ListApplications(*emrserverless.ListApplicationsInput) (*emrserverless.ListApplicationsOutput, error) + ListApplicationsWithContext(aws.Context, *emrserverless.ListApplicationsInput, ...request.Option) (*emrserverless.ListApplicationsOutput, error) + ListApplicationsRequest(*emrserverless.ListApplicationsInput) (*request.Request, *emrserverless.ListApplicationsOutput) + + ListApplicationsPages(*emrserverless.ListApplicationsInput, func(*emrserverless.ListApplicationsOutput, bool) bool) error + ListApplicationsPagesWithContext(aws.Context, *emrserverless.ListApplicationsInput, func(*emrserverless.ListApplicationsOutput, bool) bool, ...request.Option) error + + ListJobRuns(*emrserverless.ListJobRunsInput) (*emrserverless.ListJobRunsOutput, error) + ListJobRunsWithContext(aws.Context, *emrserverless.ListJobRunsInput, ...request.Option) (*emrserverless.ListJobRunsOutput, error) + ListJobRunsRequest(*emrserverless.ListJobRunsInput) (*request.Request, *emrserverless.ListJobRunsOutput) + + ListJobRunsPages(*emrserverless.ListJobRunsInput, func(*emrserverless.ListJobRunsOutput, bool) bool) error + ListJobRunsPagesWithContext(aws.Context, *emrserverless.ListJobRunsInput, func(*emrserverless.ListJobRunsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*emrserverless.ListTagsForResourceInput) (*emrserverless.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *emrserverless.ListTagsForResourceInput, ...request.Option) (*emrserverless.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*emrserverless.ListTagsForResourceInput) (*request.Request, *emrserverless.ListTagsForResourceOutput) + + StartApplication(*emrserverless.StartApplicationInput) (*emrserverless.StartApplicationOutput, error) + StartApplicationWithContext(aws.Context, *emrserverless.StartApplicationInput, ...request.Option) (*emrserverless.StartApplicationOutput, error) + StartApplicationRequest(*emrserverless.StartApplicationInput) (*request.Request, *emrserverless.StartApplicationOutput) + + StartJobRun(*emrserverless.StartJobRunInput) (*emrserverless.StartJobRunOutput, error) + StartJobRunWithContext(aws.Context, *emrserverless.StartJobRunInput, ...request.Option) (*emrserverless.StartJobRunOutput, error) + StartJobRunRequest(*emrserverless.StartJobRunInput) (*request.Request, *emrserverless.StartJobRunOutput) + + StopApplication(*emrserverless.StopApplicationInput) (*emrserverless.StopApplicationOutput, error) + StopApplicationWithContext(aws.Context, *emrserverless.StopApplicationInput, ...request.Option) (*emrserverless.StopApplicationOutput, error) + StopApplicationRequest(*emrserverless.StopApplicationInput) (*request.Request, *emrserverless.StopApplicationOutput) + + TagResource(*emrserverless.TagResourceInput) (*emrserverless.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *emrserverless.TagResourceInput, ...request.Option) (*emrserverless.TagResourceOutput, error) + TagResourceRequest(*emrserverless.TagResourceInput) (*request.Request, *emrserverless.TagResourceOutput) + + UntagResource(*emrserverless.UntagResourceInput) (*emrserverless.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *emrserverless.UntagResourceInput, ...request.Option) (*emrserverless.UntagResourceOutput, error) + UntagResourceRequest(*emrserverless.UntagResourceInput) (*request.Request, *emrserverless.UntagResourceOutput) + + UpdateApplication(*emrserverless.UpdateApplicationInput) (*emrserverless.UpdateApplicationOutput, error) + UpdateApplicationWithContext(aws.Context, *emrserverless.UpdateApplicationInput, ...request.Option) (*emrserverless.UpdateApplicationOutput, error) + UpdateApplicationRequest(*emrserverless.UpdateApplicationInput) (*request.Request, *emrserverless.UpdateApplicationOutput) +} + +var _ EMRServerlessAPI = (*emrserverless.EMRServerless)(nil) diff --git a/service/emrserverless/errors.go b/service/emrserverless/errors.go new file mode 100644 index 00000000000..6dcc6c8b220 --- /dev/null +++ b/service/emrserverless/errors.go @@ -0,0 +1,49 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverless + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request could not be processed because of conflict in the current state + // of the resource. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Request processing failed because of an error or failure with the service. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The specified resource was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The maximum number of resources per account has been reached. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by an AWS service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ValidationException": newErrorValidationException, +} diff --git a/service/emrserverless/service.go b/service/emrserverless/service.go new file mode 100644 index 00000000000..de26fc152d6 --- /dev/null +++ b/service/emrserverless/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverless + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// EMRServerless provides the API operation methods for making requests to +// EMR Serverless. See this package's package overview docs +// for details on the service. +// +// EMRServerless methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type EMRServerless struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "EMR Serverless" // Name of service. + EndpointsID = "emr-serverless" // ID to lookup a service endpoint with. + ServiceID = "EMR Serverless" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the EMRServerless client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a EMRServerless client from just a session. +// svc := emrserverless.New(mySession) +// +// // Create a EMRServerless client with additional configuration +// svc := emrserverless.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *EMRServerless { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "emr-serverless" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *EMRServerless { + svc := &EMRServerless{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-07-13", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a EMRServerless operation and runs any +// custom request initialization. +func (c *EMRServerless) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index f90dceebece..c9fe8660071 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -24605,8 +24605,18 @@ type AlgorithmSpecification struct { // The name of the algorithm resource to use for the training job. This must // be an algorithm resource that you created or subscribe to on Amazon Web Services - // Marketplace. If you specify a value for this parameter, you can't specify - // a value for TrainingImage. + // Marketplace. + // + // You must specify either the algorithm name to the AlgorithmName parameter + // or the image URI of the algorithm container to the TrainingImage parameter. + // + // Note that the AlgorithmName parameter is mutually exclusive with the TrainingImage + // parameter. If you specify a value for the AlgorithmName parameter, you can't + // specify a value for TrainingImage, and vice versa. + // + // If you specify values for both parameters, the training job might break; + // if you don't specify any value for both parameters, the training job might + // raise a null error. AlgorithmName *string `min:"1" type:"string"` // To generate and save time-series metrics during training, set to true. The @@ -24628,11 +24638,17 @@ type AlgorithmSpecification struct { MetricDefinitions []*MetricDefinition `type:"list"` // The registry path of the Docker image that contains the training algorithm. - // For information about docker registry paths for built-in algorithms, see - // Algorithms Provided by Amazon SageMaker: Common Parameters (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html). - // SageMaker supports both registry/repository[:tag] and registry/repository[@digest] - // image path formats. For more information, see Using Your Own Algorithms with - // Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). + // For information about docker registry paths for SageMaker built-in algorithms, + // see Docker Registry Paths and Example Code (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) + // in the Amazon SageMaker developer guide. SageMaker supports both registry/repository[:tag] + // and registry/repository[@digest] image path formats. For more information + // about using your custom training container, see Using Your Own Algorithms + // with Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). + // + // You must specify either the algorithm name to the AlgorithmName parameter + // or the image URI of the algorithm container to the TrainingImage parameter. + // + // For more information, see the note in the AlgorithmName parameter description. TrainingImage *string `type:"string"` // The training input mode that the algorithm supports. For more information @@ -36184,6 +36200,9 @@ type CreateNotebookInstanceInput struct { // for the SubnetId parameter. DirectInternetAccess *string `type:"string" enum:"DirectInternetAccess"` + // Information on the IMDS configuration of the notebook instance + InstanceMetadataServiceConfiguration *InstanceMetadataServiceConfiguration `type:"structure"` + // The type of ML compute instance to launch for the notebook instance. // // InstanceType is a required field @@ -36289,6 +36308,11 @@ func (s *CreateNotebookInstanceInput) Validate() error { if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 5 { invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 5)) } + if s.InstanceMetadataServiceConfiguration != nil { + if err := s.InstanceMetadataServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("InstanceMetadataServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -36330,6 +36354,12 @@ func (s *CreateNotebookInstanceInput) SetDirectInternetAccess(v string) *CreateN return s } +// SetInstanceMetadataServiceConfiguration sets the InstanceMetadataServiceConfiguration field's value. +func (s *CreateNotebookInstanceInput) SetInstanceMetadataServiceConfiguration(v *InstanceMetadataServiceConfiguration) *CreateNotebookInstanceInput { + s.InstanceMetadataServiceConfiguration = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *CreateNotebookInstanceInput) SetInstanceType(v string) *CreateNotebookInstanceInput { s.InstanceType = &v @@ -49906,6 +49936,9 @@ type DescribeNotebookInstanceOutput struct { // If status is Failed, the reason it failed. FailureReason *string `type:"string"` + // Information on the IMDS configuration of the notebook instance + InstanceMetadataServiceConfiguration *InstanceMetadataServiceConfiguration `type:"structure"` + // The type of ML compute instance running on the notebook instance. InstanceType *string `type:"string" enum:"InstanceType"` @@ -50018,6 +50051,12 @@ func (s *DescribeNotebookInstanceOutput) SetFailureReason(v string) *DescribeNot return s } +// SetInstanceMetadataServiceConfiguration sets the InstanceMetadataServiceConfiguration field's value. +func (s *DescribeNotebookInstanceOutput) SetInstanceMetadataServiceConfiguration(v *InstanceMetadataServiceConfiguration) *DescribeNotebookInstanceOutput { + s.InstanceMetadataServiceConfiguration = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *DescribeNotebookInstanceOutput) SetInstanceType(v string) *DescribeNotebookInstanceOutput { s.InstanceType = &v @@ -60615,6 +60654,56 @@ func (s *InputConfig) SetS3Uri(v string) *InputConfig { return s } +// Information on the IMDS configuration of the notebook instance +type InstanceMetadataServiceConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates the minimum IMDS version that the notebook instance supports. When + // passed as part of CreateNotebookInstance, if no value is selected, then it + // defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. + // If passed as part of UpdateNotebookInstance, there is no default. + // + // MinimumInstanceMetadataServiceVersion is a required field + MinimumInstanceMetadataServiceVersion *string `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 InstanceMetadataServiceConfiguration) 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 InstanceMetadataServiceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceMetadataServiceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataServiceConfiguration"} + if s.MinimumInstanceMetadataServiceVersion == nil { + invalidParams.Add(request.NewErrParamRequired("MinimumInstanceMetadataServiceVersion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMinimumInstanceMetadataServiceVersion sets the MinimumInstanceMetadataServiceVersion field's value. +func (s *InstanceMetadataServiceConfiguration) SetMinimumInstanceMetadataServiceVersion(v string) *InstanceMetadataServiceConfiguration { + s.MinimumInstanceMetadataServiceVersion = &v + return s +} + // For a hyperparameter of the integer type, specifies the range that a hyperparameter // tuning job searches. type IntegerParameterRange struct { @@ -91534,6 +91623,9 @@ type UpdateNotebookInstanceInput struct { // instance when you call this method, it does not throw an error. DisassociateLifecycleConfig *bool `type:"boolean"` + // Information on the IMDS configuration of the notebook instance + InstanceMetadataServiceConfiguration *InstanceMetadataServiceConfiguration `type:"structure"` + // The Amazon ML compute instance type. InstanceType *string `type:"string" enum:"InstanceType"` @@ -91605,6 +91697,11 @@ func (s *UpdateNotebookInstanceInput) Validate() error { if s.VolumeSizeInGB != nil && *s.VolumeSizeInGB < 5 { invalidParams.Add(request.NewErrParamMinValue("VolumeSizeInGB", 5)) } + if s.InstanceMetadataServiceConfiguration != nil { + if err := s.InstanceMetadataServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("InstanceMetadataServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -91654,6 +91751,12 @@ func (s *UpdateNotebookInstanceInput) SetDisassociateLifecycleConfig(v bool) *Up return s } +// SetInstanceMetadataServiceConfiguration sets the InstanceMetadataServiceConfiguration field's value. +func (s *UpdateNotebookInstanceInput) SetInstanceMetadataServiceConfiguration(v *InstanceMetadataServiceConfiguration) *UpdateNotebookInstanceInput { + s.InstanceMetadataServiceConfiguration = v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *UpdateNotebookInstanceInput) SetInstanceType(v string) *UpdateNotebookInstanceInput { s.InstanceType = &v @@ -93903,6 +94006,30 @@ const ( // AppInstanceTypeMlR524xlarge is a AppInstanceType enum value AppInstanceTypeMlR524xlarge = "ml.r5.24xlarge" + + // AppInstanceTypeMlG5Xlarge is a AppInstanceType enum value + AppInstanceTypeMlG5Xlarge = "ml.g5.xlarge" + + // AppInstanceTypeMlG52xlarge is a AppInstanceType enum value + AppInstanceTypeMlG52xlarge = "ml.g5.2xlarge" + + // AppInstanceTypeMlG54xlarge is a AppInstanceType enum value + AppInstanceTypeMlG54xlarge = "ml.g5.4xlarge" + + // AppInstanceTypeMlG58xlarge is a AppInstanceType enum value + AppInstanceTypeMlG58xlarge = "ml.g5.8xlarge" + + // AppInstanceTypeMlG516xlarge is a AppInstanceType enum value + AppInstanceTypeMlG516xlarge = "ml.g5.16xlarge" + + // AppInstanceTypeMlG512xlarge is a AppInstanceType enum value + AppInstanceTypeMlG512xlarge = "ml.g5.12xlarge" + + // AppInstanceTypeMlG524xlarge is a AppInstanceType enum value + AppInstanceTypeMlG524xlarge = "ml.g5.24xlarge" + + // AppInstanceTypeMlG548xlarge is a AppInstanceType enum value + AppInstanceTypeMlG548xlarge = "ml.g5.48xlarge" ) // AppInstanceType_Values returns all elements of the AppInstanceType enum @@ -93957,6 +94084,14 @@ func AppInstanceType_Values() []string { AppInstanceTypeMlR512xlarge, AppInstanceTypeMlR516xlarge, AppInstanceTypeMlR524xlarge, + AppInstanceTypeMlG5Xlarge, + AppInstanceTypeMlG52xlarge, + AppInstanceTypeMlG54xlarge, + AppInstanceTypeMlG58xlarge, + AppInstanceTypeMlG516xlarge, + AppInstanceTypeMlG512xlarge, + AppInstanceTypeMlG524xlarge, + AppInstanceTypeMlG548xlarge, } }