diff --git a/CHANGELOG.md b/CHANGELOG.md index 5be5892ff33..4956654b53b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +Release v1.44.23 (2022-05-26) +=== + +### Service Client Updates +* `service/ec2`: Updates service API + * C7g instances, powered by the latest generation AWS Graviton3 processors, provide the best price performance in Amazon EC2 for compute-intensive workloads. +* `service/emr-serverless`: Adds new service +* `service/forecast`: Updates service API and documentation +* `service/lightsail`: Updates service API and documentation + * Amazon Lightsail now supports the ability to configure a Lightsail Container Service to pull images from Amazon ECR private repositories in your account. + +### SDK Bugs +* `service/cloudwatchevidently`: Introduces a breaking change for following parameters from a JSONValue to string type, because the SDKs JSONValue is not compatible with the service's request and response shapes. + * `EvaluateFeatureInput.EvaluationContext` + * `EvaluateFeatureOutput.Details` + * `EvaluationRequest.EvaluationContext` + * `EvaluationResult.Details` + * `Event.Data` + * `ExperimentReport.Content` + * `MetricDefinition.EventPattern` + * `MetricDefinitionConfig.EventPattern` + Release v1.44.22 (2022-05-25) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 3b38ec87e4f..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -3,12 +3,3 @@ ### SDK Enhancements ### SDK Bugs -* `service/cloudwatchevidently`: Introduces a breaking change for following parameters from a JSONValue to string type, because the SDKs JSONValue is not compatible with the service's request and response shapes. - * `EvaluateFeatureInput.EvaluationContext` - * `EvaluateFeatureOutput.Details` - * `EvaluationRequest.EvaluationContext` - * `EvaluationResult.Details` - * `Event.Data` - * `ExperimentReport.Content` - * `MetricDefinition.EventPattern` - * `MetricDefinitionConfig.EventPattern` diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 080805c6158..a4fa6e67c0b 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -3046,6 +3046,73 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "backup-gateway": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "batch": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{}, @@ -8533,6 +8600,52 @@ var awsPartition = partition{ }, }, }, + "emr-serverless": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + Hostname: "emr-serverless-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + Hostname: "emr-serverless-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "emr-serverless-fips.us-east-1.amazonaws.com", + }, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "emr-serverless-fips.us-west-2.amazonaws.com", + }, + }, + }, "entitlement.marketplace": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -10547,14 +10660,6 @@ var awsPartition = partition{ }, }, "health": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - Defaults: endpointDefaults{ - defaultKey{}: endpoint{ - SSLCommonName: "health.us-east-1.amazonaws.com", - Protocols: []string{"https"}, - }, - }, Endpoints: serviceEndpoints{ endpointKey{ Region: "fips-us-east-2", @@ -15495,7 +15600,12 @@ var awsPartition = partition{ }, endpointKey{ Region: "ap-northeast-3", - }: endpoint{}, + }: endpoint{ + Hostname: "portal.sso.ap-northeast-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-3", + }, + }, endpointKey{ Region: "ap-south-1", }: endpoint{ @@ -25134,6 +25244,16 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "backup-gateway": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "batch": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 5dbe4b25564..47386c4c985 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.22" +const SDKVersion = "1.44.23" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index f162c433ffa..be3fccbd480 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -24251,7 +24251,18 @@ "i4i.4xlarge", "i4i.8xlarge", "i4i.16xlarge", - "i4i.32xlarge" + "i4i.32xlarge", + "i4i.metal", + "x2idn.metal", + "x2iedn.metal", + "c7g.medium", + "c7g.large", + "c7g.xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.12xlarge", + "c7g.16xlarge" ] }, "InstanceTypeHypervisor":{ 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..8ca667160a8 --- /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 Web Service", + "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/forecast/2018-06-26/api-2.json b/models/apis/forecast/2018-06-26/api-2.json index ba91e35caf2..cd713140ba6 100644 --- a/models/apis/forecast/2018-06-26/api-2.json +++ b/models/apis/forecast/2018-06-26/api-2.json @@ -881,7 +881,8 @@ "OptimizationMetric":{"shape":"OptimizationMetric"}, "ExplainPredictor":{"shape":"Boolean"}, "Tags":{"shape":"Tags"}, - "MonitorConfig":{"shape":"MonitorConfig"} + "MonitorConfig":{"shape":"MonitorConfig"}, + "TimeAlignmentBoundary":{"shape":"TimeAlignmentBoundary"} } }, "CreateAutoPredictorResponse":{ @@ -1186,6 +1187,23 @@ "type":"list", "member":{"shape":"DatasetSummary"} }, + "DayOfMonth":{ + "type":"integer", + "max":28, + "min":1 + }, + "DayOfWeek":{ + "type":"string", + "enum":[ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, "DeleteDatasetGroupRequest":{ "type":"structure", "required":["DatasetGroupArn"], @@ -1290,7 +1308,8 @@ "LastModificationTime":{"shape":"Timestamp"}, "OptimizationMetric":{"shape":"OptimizationMetric"}, "ExplainabilityInfo":{"shape":"ExplainabilityInfo"}, - "MonitorInfo":{"shape":"MonitorInfo"} + "MonitorInfo":{"shape":"MonitorInfo"}, + "TimeAlignmentBoundary":{"shape":"TimeAlignmentBoundary"} } }, "DescribeDatasetGroupRequest":{ @@ -1803,6 +1822,11 @@ "OptimizationMetric":{"shape":"OptimizationMetric"} } }, + "Hour":{ + "type":"integer", + "max":23, + "min":0 + }, "HyperParameterTuningJobConfig":{ "type":"structure", "members":{ @@ -2119,6 +2143,23 @@ "type":"list", "member":{"shape":"MonitorSummary"} }, + "Month":{ + "type":"string", + "enum":[ + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ] + }, "Name":{ "type":"string", "max":63, @@ -2457,6 +2498,15 @@ "type":"list", "member":{"shape":"WindowSummary"} }, + "TimeAlignmentBoundary":{ + "type":"structure", + "members":{ + "Month":{"shape":"Month"}, + "DayOfMonth":{"shape":"DayOfMonth"}, + "DayOfWeek":{"shape":"DayOfWeek"}, + "Hour":{"shape":"Hour"} + } + }, "TimePointGranularity":{ "type":"string", "enum":[ diff --git a/models/apis/forecast/2018-06-26/docs-2.json b/models/apis/forecast/2018-06-26/docs-2.json index 0ab7e84fa7a..6939b8eca90 100644 --- a/models/apis/forecast/2018-06-26/docs-2.json +++ b/models/apis/forecast/2018-06-26/docs-2.json @@ -43,7 +43,7 @@ "ListExplainabilityExports": "

Returns a list of Explainability exports created using the CreateExplainabilityExport operation. This operation returns a summary for each Explainability export. You can filter the list using an array of Filter objects.

To retrieve the complete set of properties for a particular Explainability export, use the ARN with the DescribeExplainability operation.

", "ListForecastExportJobs": "

Returns a list of forecast export jobs created using the CreateForecastExportJob operation. For each forecast export job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, use the ARN with the DescribeForecastExportJob operation. You can filter the list using an array of Filter objects.

", "ListForecasts": "

Returns a list of forecasts created using the CreateForecast operation. For each forecast, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, specify the ARN with the DescribeForecast operation. You can filter the list using an array of Filter objects.

", - "ListMonitorEvaluations": "

Returns a list of the monitoring evaluation results and predictor events collected by the monitor resource during different windows of time.

For information about monitoring see Viewing Monitoring Results. For more information about retrieving monitoring results see Viewing Monitoring Results.

", + "ListMonitorEvaluations": "

Returns a list of the monitoring evaluation results and predictor events collected by the monitor resource during different windows of time.

For information about monitoring see predictor-monitoring. For more information about retrieving monitoring results see Viewing Monitoring Results.

", "ListMonitors": "

Returns a list of monitors created with the CreateMonitor operation and CreateAutoPredictor operation. For each monitor resource, this operation returns of a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve a complete set of properties of a monitor resource by specify the monitor's ARN in the DescribeMonitor operation.

", "ListPredictorBacktestExportJobs": "

Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary for each backtest export job. You can filter the list using an array of Filter objects.

To retrieve the complete set of properties for a particular backtest export job, use the ARN with the DescribePredictorBacktestExportJob operation.

", "ListPredictors": "

Returns a list of predictors created using the CreateAutoPredictor or CreatePredictor operations. For each predictor, this operation returns a summary of its properties, including its Amazon Resource Name (ARN).

You can retrieve the complete set of properties by using the ARN with the DescribeAutoPredictor and DescribePredictor operations. You can filter the list using an array of Filter objects.

", @@ -157,8 +157,8 @@ "MonitorSummary$ResourceArn": "

The Amazon Resource Name (ARN) of the predictor being monitored.

", "PredictorBacktestExportJobSummary$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job.

", "PredictorExecution$AlgorithmArn": "

The ARN of the algorithm used to test the predictor.

", - "PredictorMonitorEvaluation$ResourceArn": null, - "PredictorMonitorEvaluation$MonitorArn": null, + "PredictorMonitorEvaluation$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to monitor.

", + "PredictorMonitorEvaluation$MonitorArn": "

The Amazon Resource Name (ARN) of the monitor resource.

", "PredictorSummary$PredictorArn": "

The ARN of the predictor.

", "PredictorSummary$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that contains the data used to train the predictor.

", "ReferencePredictorSummary$Arn": "

The ARN of the reference predictor.

", @@ -456,6 +456,18 @@ "ListDatasetsResponse$Datasets": "

An array of objects that summarize each dataset's properties.

" } }, + "DayOfMonth": { + "base": null, + "refs": { + "TimeAlignmentBoundary$DayOfMonth": "

The day of the month to use for time alignment during aggregation.

" + } + }, + "DayOfWeek": { + "base": null, + "refs": { + "TimeAlignmentBoundary$DayOfWeek": "

The day of week to use for time alignment during aggregation. The day must be in uppercase.

" + } + }, "DeleteDatasetGroupRequest": { "base": null, "refs": { @@ -915,6 +927,12 @@ "refs": { } }, + "Hour": { + "base": null, + "refs": { + "TimeAlignmentBoundary$Hour": "

The hour of day to use for time alignment during aggregation.

" + } + }, "HyperParameterTuningJobConfig": { "base": "

Configuration information for a hyperparameter tuning job. You specify this object in the CreatePredictor request.

A hyperparameter is a parameter that governs the model training process. You set hyperparameters before training starts, unlike model parameters, which are determined during training. The values of the hyperparameters effect which values are chosen for the model parameters.

In a hyperparameter tuning job, Amazon Forecast chooses the set of hyperparameter values that optimize a specified metric. Forecast accomplishes this by running many training jobs over a range of hyperparameter values. The optimum set of values depends on the algorithm, the training data, and the specified metric objective.

", "refs": { @@ -1211,6 +1229,12 @@ "ListMonitorsResponse$Monitors": "

An array of objects that summarize each monitor's properties.

" } }, + "Month": { + "base": null, + "refs": { + "TimeAlignmentBoundary$Month": "

The month to use for time alignment during aggregation. The month must be in uppercase.

" + } + }, "Name": { "base": null, "refs": { @@ -1597,6 +1621,13 @@ "EvaluationResult$TestWindows": "

The array of test windows used for evaluating the algorithm. The NumberOfBacktestWindows from the EvaluationParameters object determines the number of windows in the array.

" } }, + "TimeAlignmentBoundary": { + "base": "

The time boundary Forecast uses to align and aggregate your data to match your forecast frequency. Provide the unit of time and the time boundary as a key value pair. If you don't provide a time boundary, Forecast uses a set of Default Time Boundaries.

For more information about aggregation, see Data Aggregation for Different Forecast Frequencies. For more information setting a custom time boundary, see Specifying a Time Boundary.

", + "refs": { + "CreateAutoPredictorRequest$TimeAlignmentBoundary": "

The time boundary Forecast uses to align and aggregate any data that doesn't align with your forecast frequency. Provide the unit of time and the time boundary as a key value pair. For more information on specifying a time boundary, see Specifying a Time Boundary. If you don't provide a time boundary, Forecast uses a set of Default Time Boundaries.

", + "DescribeAutoPredictorResponse$TimeAlignmentBoundary": "

The time boundary Forecast uses when aggregating data.

" + } + }, "TimePointGranularity": { "base": null, "refs": { diff --git a/models/apis/lightsail/2016-11-28/api-2.json b/models/apis/lightsail/2016-11-28/api-2.json index 0876864fd23..2738655fe33 100644 --- a/models/apis/lightsail/2016-11-28/api-2.json +++ b/models/apis/lightsail/2016-11-28/api-2.json @@ -3396,7 +3396,8 @@ "principalArn":{"shape":"string"}, "privateDomainName":{"shape":"string"}, "publicDomainNames":{"shape":"ContainerServicePublicDomains"}, - "url":{"shape":"string"} + "url":{"shape":"string"}, + "privateRegistryAccess":{"shape":"PrivateRegistryAccess"} } }, "ContainerServiceDeployment":{ @@ -3429,6 +3430,19 @@ "FAILED" ] }, + "ContainerServiceECRImagePullerRole":{ + "type":"structure", + "members":{ + "isActive":{"shape":"boolean"}, + "principalArn":{"shape":"string"} + } + }, + "ContainerServiceECRImagePullerRoleRequest":{ + "type":"structure", + "members":{ + "isActive":{"shape":"boolean"} + } + }, "ContainerServiceEndpoint":{ "type":"structure", "members":{ @@ -3733,7 +3747,8 @@ "scale":{"shape":"ContainerServiceScale"}, "tags":{"shape":"TagList"}, "publicDomainNames":{"shape":"ContainerServicePublicDomains"}, - "deployment":{"shape":"ContainerServiceDeploymentRequest"} + "deployment":{"shape":"ContainerServiceDeploymentRequest"}, + "privateRegistryAccess":{"shape":"PrivateRegistryAccessRequest"} } }, "CreateContainerServiceResult":{ @@ -6705,6 +6720,18 @@ "closed" ] }, + "PrivateRegistryAccess":{ + "type":"structure", + "members":{ + "ecrImagePullerRole":{"shape":"ContainerServiceECRImagePullerRole"} + } + }, + "PrivateRegistryAccessRequest":{ + "type":"structure", + "members":{ + "ecrImagePullerRole":{"shape":"ContainerServiceECRImagePullerRoleRequest"} + } + }, "PutAlarmRequest":{ "type":"structure", "required":[ @@ -7427,7 +7454,8 @@ "power":{"shape":"ContainerServicePowerName"}, "scale":{"shape":"ContainerServiceScale"}, "isDisabled":{"shape":"boolean"}, - "publicDomainNames":{"shape":"ContainerServicePublicDomains"} + "publicDomainNames":{"shape":"ContainerServicePublicDomains"}, + "privateRegistryAccess":{"shape":"PrivateRegistryAccessRequest"} } }, "UpdateContainerServiceResult":{ diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index b92b8c22795..ef3695c9422 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -758,6 +758,18 @@ "ContainerServiceDeployment$state": "

The state of the deployment.

A deployment can be in one of the following states:

" } }, + "ContainerServiceECRImagePullerRole": { + "base": "

Describes the activation status of the role that you can use to grant an Amazon Lightsail container service access to Amazon Elastic Container Registry (Amazon ECR) private repositories.

When activated, Lightsail creates an Identity and Access Management (IAM) role for the specified Lightsail container service. You can use the ARN of the role to create a trust relationship between your Lightsail container service and an Amazon ECR private repository in your Amazon Web Services account. This allows your container service to pull images from Amazon ECR private repositories. For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

", + "refs": { + "PrivateRegistryAccess$ecrImagePullerRole": "

An object that describes the activation status of the role that you can use to grant a Lightsail container service access to Amazon ECR private repositories. If the role is activated, the Amazon Resource Name (ARN) of the role is also listed.

" + } + }, + "ContainerServiceECRImagePullerRoleRequest": { + "base": "

Describes a request to activate or deactivate the role that you can use to grant an Amazon Lightsail container service access to Amazon Elastic Container Registry (Amazon ECR) private repositories.

When activated, Lightsail creates an Identity and Access Management (IAM) role for the specified Lightsail container service. You can use the ARN of the role to create a trust relationship between your Lightsail container service and an Amazon ECR private repository in your Amazon Web Services account. This allows your container service to pull images from Amazon ECR private repositories. For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

", + "refs": { + "PrivateRegistryAccessRequest$ecrImagePullerRole": "

An object to describe a request to activate or deactivate the role that you can use to grant an Amazon Lightsail container service access to Amazon Elastic Container Registry (Amazon ECR) private repositories.

" + } + }, "ContainerServiceEndpoint": { "base": "

Describes the public endpoint configuration of a deployment of an Amazon Lightsail container service.

", "refs": { @@ -3259,6 +3271,19 @@ "InstancePortState$state": "

Specifies whether the instance port is open or closed.

The port state for Lightsail instances is always open.

" } }, + "PrivateRegistryAccess": { + "base": "

Describes the configuration for an Amazon Lightsail container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories.

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

", + "refs": { + "ContainerService$privateRegistryAccess": "

An object that describes the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories.

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

" + } + }, + "PrivateRegistryAccessRequest": { + "base": "

Describes a request to configure an Amazon Lightsail container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories.

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

", + "refs": { + "CreateContainerServiceRequest$privateRegistryAccess": "

An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories.

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

", + "UpdateContainerServiceRequest$privateRegistryAccess": "

An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories.

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

" + } + }, "PutAlarmRequest": { "base": null, "refs": { @@ -4114,6 +4139,8 @@ "BucketBundle$isActive": "

Indicates whether the bundle is active. Use for a new or existing bucket.

", "Bundle$isActive": "

A Boolean value indicating whether the bundle is active.

", "ContainerService$isDisabled": "

A Boolean value indicating whether the container service is disabled.

", + "ContainerServiceECRImagePullerRole$isActive": "

A Boolean value that indicates whether the role is activated.

", + "ContainerServiceECRImagePullerRoleRequest$isActive": "

A Boolean value that indicates whether to activate the role.

", "ContainerServicePower$isActive": "

A Boolean value indicating whether the power is active and can be specified for container services.

", "CopySnapshotRequest$useLatestRestorableAutoSnapshot": "

A Boolean value to indicate whether to use the latest available automatic snapshot of the specified source instance or disk.

Constraints:

", "CreateBucketRequest$enableObjectVersioning": "

A Boolean value that indicates whether to enable versioning of objects in the bucket.

For more information about versioning, see Enabling and suspending object versioning in a bucket in Amazon Lightsail in the Amazon Lightsail Developer Guide.

", @@ -4290,6 +4317,7 @@ "ContainerService$principalArn": "

The principal ARN of the container service.

The principal ARN can be used to create a trust relationship between your standard Amazon Web Services account and your Lightsail container service. This allows you to give your service permission to access resources in your standard Amazon Web Services account.

", "ContainerService$privateDomainName": "

The private domain name of the container service.

The private domain name is accessible only by other resources within the default virtual private cloud (VPC) of your Lightsail account.

", "ContainerService$url": "

The publicly accessible URL of the container service.

If no public endpoint is specified in the currentDeployment, this URL returns a 404 response.

", + "ContainerServiceECRImagePullerRole$principalArn": "

The Amazon Resource Name (ARN) of the role, if it is activated.

", "ContainerServiceEndpoint$containerName": "

The name of the container entry of the deployment that the endpoint configuration applies to.

", "ContainerServiceHealthCheckConfig$path": "

The path on the container on which to perform the health check. The default value is /.

", "ContainerServiceHealthCheckConfig$successCodes": "

The HTTP codes to use when checking for a successful response from a container. You can specify values between 200 and 499. You can specify multiple values (for example, 200,202) or a range of values (for example, 200-299).

", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 352dedeae7e..4f2ea403e96 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1658,6 +1658,31 @@ "us-west-2" : { } } }, + "backup-gateway" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "batch" : { "defaults" : { "variants" : [ { @@ -4960,6 +4985,38 @@ } } }, + "emr-serverless" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "emr-serverless-fips.us-east-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "emr-serverless-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "emr-serverless-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "emr-serverless-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "entitlement.marketplace" : { "defaults" : { "credentialScope" : { @@ -6190,10 +6247,6 @@ "isRegionalized" : true }, "health" : { - "defaults" : { - "protocols" : [ "https" ], - "sslCommonName" : "health.us-east-1.amazonaws.com" - }, "endpoints" : { "fips-us-east-2" : { "credentialScope" : { @@ -6212,9 +6265,7 @@ "tags" : [ "fips" ] } ] } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" + } }, "healthlake" : { "defaults" : { @@ -9083,7 +9134,12 @@ }, "hostname" : "portal.sso.ap-northeast-2.amazonaws.com" }, - "ap-northeast-3" : { }, + "ap-northeast-3" : { + "credentialScope" : { + "region" : "ap-northeast-3" + }, + "hostname" : "portal.sso.ap-northeast-3.amazonaws.com" + }, "ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" @@ -14908,6 +14964,12 @@ "us-gov-west-1" : { } } }, + "backup-gateway" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "batch" : { "defaults" : { "variants" : [ { diff --git a/service/ec2/api.go b/service/ec2/api.go index 95a8a414411..04170f4031c 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -165238,6 +165238,39 @@ const ( // InstanceTypeI4i32xlarge is a InstanceType enum value InstanceTypeI4i32xlarge = "i4i.32xlarge" + + // InstanceTypeI4iMetal is a InstanceType enum value + InstanceTypeI4iMetal = "i4i.metal" + + // InstanceTypeX2idnMetal is a InstanceType enum value + InstanceTypeX2idnMetal = "x2idn.metal" + + // InstanceTypeX2iednMetal is a InstanceType enum value + InstanceTypeX2iednMetal = "x2iedn.metal" + + // InstanceTypeC7gMedium is a InstanceType enum value + InstanceTypeC7gMedium = "c7g.medium" + + // InstanceTypeC7gLarge is a InstanceType enum value + InstanceTypeC7gLarge = "c7g.large" + + // InstanceTypeC7gXlarge is a InstanceType enum value + InstanceTypeC7gXlarge = "c7g.xlarge" + + // InstanceTypeC7g2xlarge is a InstanceType enum value + InstanceTypeC7g2xlarge = "c7g.2xlarge" + + // InstanceTypeC7g4xlarge is a InstanceType enum value + InstanceTypeC7g4xlarge = "c7g.4xlarge" + + // InstanceTypeC7g8xlarge is a InstanceType enum value + InstanceTypeC7g8xlarge = "c7g.8xlarge" + + // InstanceTypeC7g12xlarge is a InstanceType enum value + InstanceTypeC7g12xlarge = "c7g.12xlarge" + + // InstanceTypeC7g16xlarge is a InstanceType enum value + InstanceTypeC7g16xlarge = "c7g.16xlarge" ) // InstanceType_Values returns all elements of the InstanceType enum @@ -165757,6 +165790,17 @@ func InstanceType_Values() []string { InstanceTypeI4i8xlarge, InstanceTypeI4i16xlarge, InstanceTypeI4i32xlarge, + InstanceTypeI4iMetal, + InstanceTypeX2idnMetal, + InstanceTypeX2iednMetal, + InstanceTypeC7gMedium, + InstanceTypeC7gLarge, + InstanceTypeC7gXlarge, + InstanceTypeC7g2xlarge, + InstanceTypeC7g4xlarge, + InstanceTypeC7g8xlarge, + InstanceTypeC7g12xlarge, + InstanceTypeC7g16xlarge, } } diff --git a/service/emrserverlesswebservice/api.go b/service/emrserverlesswebservice/api.go new file mode 100644 index 00000000000..5299f771527 --- /dev/null +++ b/service/emrserverlesswebservice/api.go @@ -0,0 +1,4943 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverlesswebservice + +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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *emrserverlesswebservice.ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *emrserverlesswebservice.ListJobRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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 Web Service. +// +// 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 Web Service'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 *EMRServerlessWebService) 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 *EMRServerlessWebService) 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/emrserverlesswebservice/doc.go b/service/emrserverlesswebservice/doc.go new file mode 100644 index 00000000000..d18f8bc5193 --- /dev/null +++ b/service/emrserverlesswebservice/doc.go @@ -0,0 +1,45 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package emrserverlesswebservice provides the client and types for making API +// requests to EMR Serverless Web 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: +// +// * 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 emrserverlesswebservice package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/emrserverlesswebservice/ +// +// Using the Client +// +// To contact EMR Serverless Web Service 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 Web Service client EMRServerlessWebService for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/emrserverlesswebservice/#New +package emrserverlesswebservice diff --git a/service/emrserverlesswebservice/emrserverlesswebserviceiface/interface.go b/service/emrserverlesswebservice/emrserverlesswebserviceiface/interface.go new file mode 100644 index 00000000000..92336bb7d7a --- /dev/null +++ b/service/emrserverlesswebservice/emrserverlesswebserviceiface/interface.go @@ -0,0 +1,126 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package emrserverlesswebserviceiface provides an interface to enable mocking the EMR Serverless Web Service 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 emrserverlesswebserviceiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/emrserverlesswebservice" +) + +// EMRServerlessWebServiceAPI provides an interface to enable mocking the +// emrserverlesswebservice.EMRServerlessWebService 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 Web Service. +// func myFunc(svc emrserverlesswebserviceiface.EMRServerlessWebServiceAPI) bool { +// // Make svc.CancelJobRun request +// } +// +// func main() { +// sess := session.New() +// svc := emrserverlesswebservice.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockEMRServerlessWebServiceClient struct { +// emrserverlesswebserviceiface.EMRServerlessWebServiceAPI +// } +// func (m *mockEMRServerlessWebServiceClient) CancelJobRun(input *emrserverlesswebservice.CancelJobRunInput) (*emrserverlesswebservice.CancelJobRunOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockEMRServerlessWebServiceClient{} +// +// 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 EMRServerlessWebServiceAPI interface { + CancelJobRun(*emrserverlesswebservice.CancelJobRunInput) (*emrserverlesswebservice.CancelJobRunOutput, error) + CancelJobRunWithContext(aws.Context, *emrserverlesswebservice.CancelJobRunInput, ...request.Option) (*emrserverlesswebservice.CancelJobRunOutput, error) + CancelJobRunRequest(*emrserverlesswebservice.CancelJobRunInput) (*request.Request, *emrserverlesswebservice.CancelJobRunOutput) + + CreateApplication(*emrserverlesswebservice.CreateApplicationInput) (*emrserverlesswebservice.CreateApplicationOutput, error) + CreateApplicationWithContext(aws.Context, *emrserverlesswebservice.CreateApplicationInput, ...request.Option) (*emrserverlesswebservice.CreateApplicationOutput, error) + CreateApplicationRequest(*emrserverlesswebservice.CreateApplicationInput) (*request.Request, *emrserverlesswebservice.CreateApplicationOutput) + + DeleteApplication(*emrserverlesswebservice.DeleteApplicationInput) (*emrserverlesswebservice.DeleteApplicationOutput, error) + DeleteApplicationWithContext(aws.Context, *emrserverlesswebservice.DeleteApplicationInput, ...request.Option) (*emrserverlesswebservice.DeleteApplicationOutput, error) + DeleteApplicationRequest(*emrserverlesswebservice.DeleteApplicationInput) (*request.Request, *emrserverlesswebservice.DeleteApplicationOutput) + + GetApplication(*emrserverlesswebservice.GetApplicationInput) (*emrserverlesswebservice.GetApplicationOutput, error) + GetApplicationWithContext(aws.Context, *emrserverlesswebservice.GetApplicationInput, ...request.Option) (*emrserverlesswebservice.GetApplicationOutput, error) + GetApplicationRequest(*emrserverlesswebservice.GetApplicationInput) (*request.Request, *emrserverlesswebservice.GetApplicationOutput) + + GetJobRun(*emrserverlesswebservice.GetJobRunInput) (*emrserverlesswebservice.GetJobRunOutput, error) + GetJobRunWithContext(aws.Context, *emrserverlesswebservice.GetJobRunInput, ...request.Option) (*emrserverlesswebservice.GetJobRunOutput, error) + GetJobRunRequest(*emrserverlesswebservice.GetJobRunInput) (*request.Request, *emrserverlesswebservice.GetJobRunOutput) + + ListApplications(*emrserverlesswebservice.ListApplicationsInput) (*emrserverlesswebservice.ListApplicationsOutput, error) + ListApplicationsWithContext(aws.Context, *emrserverlesswebservice.ListApplicationsInput, ...request.Option) (*emrserverlesswebservice.ListApplicationsOutput, error) + ListApplicationsRequest(*emrserverlesswebservice.ListApplicationsInput) (*request.Request, *emrserverlesswebservice.ListApplicationsOutput) + + ListApplicationsPages(*emrserverlesswebservice.ListApplicationsInput, func(*emrserverlesswebservice.ListApplicationsOutput, bool) bool) error + ListApplicationsPagesWithContext(aws.Context, *emrserverlesswebservice.ListApplicationsInput, func(*emrserverlesswebservice.ListApplicationsOutput, bool) bool, ...request.Option) error + + ListJobRuns(*emrserverlesswebservice.ListJobRunsInput) (*emrserverlesswebservice.ListJobRunsOutput, error) + ListJobRunsWithContext(aws.Context, *emrserverlesswebservice.ListJobRunsInput, ...request.Option) (*emrserverlesswebservice.ListJobRunsOutput, error) + ListJobRunsRequest(*emrserverlesswebservice.ListJobRunsInput) (*request.Request, *emrserverlesswebservice.ListJobRunsOutput) + + ListJobRunsPages(*emrserverlesswebservice.ListJobRunsInput, func(*emrserverlesswebservice.ListJobRunsOutput, bool) bool) error + ListJobRunsPagesWithContext(aws.Context, *emrserverlesswebservice.ListJobRunsInput, func(*emrserverlesswebservice.ListJobRunsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*emrserverlesswebservice.ListTagsForResourceInput) (*emrserverlesswebservice.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *emrserverlesswebservice.ListTagsForResourceInput, ...request.Option) (*emrserverlesswebservice.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*emrserverlesswebservice.ListTagsForResourceInput) (*request.Request, *emrserverlesswebservice.ListTagsForResourceOutput) + + StartApplication(*emrserverlesswebservice.StartApplicationInput) (*emrserverlesswebservice.StartApplicationOutput, error) + StartApplicationWithContext(aws.Context, *emrserverlesswebservice.StartApplicationInput, ...request.Option) (*emrserverlesswebservice.StartApplicationOutput, error) + StartApplicationRequest(*emrserverlesswebservice.StartApplicationInput) (*request.Request, *emrserverlesswebservice.StartApplicationOutput) + + StartJobRun(*emrserverlesswebservice.StartJobRunInput) (*emrserverlesswebservice.StartJobRunOutput, error) + StartJobRunWithContext(aws.Context, *emrserverlesswebservice.StartJobRunInput, ...request.Option) (*emrserverlesswebservice.StartJobRunOutput, error) + StartJobRunRequest(*emrserverlesswebservice.StartJobRunInput) (*request.Request, *emrserverlesswebservice.StartJobRunOutput) + + StopApplication(*emrserverlesswebservice.StopApplicationInput) (*emrserverlesswebservice.StopApplicationOutput, error) + StopApplicationWithContext(aws.Context, *emrserverlesswebservice.StopApplicationInput, ...request.Option) (*emrserverlesswebservice.StopApplicationOutput, error) + StopApplicationRequest(*emrserverlesswebservice.StopApplicationInput) (*request.Request, *emrserverlesswebservice.StopApplicationOutput) + + TagResource(*emrserverlesswebservice.TagResourceInput) (*emrserverlesswebservice.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *emrserverlesswebservice.TagResourceInput, ...request.Option) (*emrserverlesswebservice.TagResourceOutput, error) + TagResourceRequest(*emrserverlesswebservice.TagResourceInput) (*request.Request, *emrserverlesswebservice.TagResourceOutput) + + UntagResource(*emrserverlesswebservice.UntagResourceInput) (*emrserverlesswebservice.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *emrserverlesswebservice.UntagResourceInput, ...request.Option) (*emrserverlesswebservice.UntagResourceOutput, error) + UntagResourceRequest(*emrserverlesswebservice.UntagResourceInput) (*request.Request, *emrserverlesswebservice.UntagResourceOutput) + + UpdateApplication(*emrserverlesswebservice.UpdateApplicationInput) (*emrserverlesswebservice.UpdateApplicationOutput, error) + UpdateApplicationWithContext(aws.Context, *emrserverlesswebservice.UpdateApplicationInput, ...request.Option) (*emrserverlesswebservice.UpdateApplicationOutput, error) + UpdateApplicationRequest(*emrserverlesswebservice.UpdateApplicationInput) (*request.Request, *emrserverlesswebservice.UpdateApplicationOutput) +} + +var _ EMRServerlessWebServiceAPI = (*emrserverlesswebservice.EMRServerlessWebService)(nil) diff --git a/service/emrserverlesswebservice/errors.go b/service/emrserverlesswebservice/errors.go new file mode 100644 index 00000000000..33eda3b0541 --- /dev/null +++ b/service/emrserverlesswebservice/errors.go @@ -0,0 +1,49 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverlesswebservice + +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/emrserverlesswebservice/service.go b/service/emrserverlesswebservice/service.go new file mode 100644 index 00000000000..62a501ed79b --- /dev/null +++ b/service/emrserverlesswebservice/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package emrserverlesswebservice + +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" +) + +// EMRServerlessWebService provides the API operation methods for making requests to +// EMR Serverless Web Service. See this package's package overview docs +// for details on the service. +// +// EMRServerlessWebService methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type EMRServerlessWebService 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 EMRServerlessWebService 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 EMRServerlessWebService client from just a session. +// svc := emrserverlesswebservice.New(mySession) +// +// // Create a EMRServerlessWebService client with additional configuration +// svc := emrserverlesswebservice.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *EMRServerlessWebService { + 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) *EMRServerlessWebService { + svc := &EMRServerlessWebService{ + 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 EMRServerlessWebService operation and runs any +// custom request initialization. +func (c *EMRServerlessWebService) 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/forecastservice/api.go b/service/forecastservice/api.go index 277139af14e..84de96d33cb 100644 --- a/service/forecastservice/api.go +++ b/service/forecastservice/api.go @@ -4544,9 +4544,8 @@ func (c *ForecastService) ListMonitorEvaluationsRequest(input *ListMonitorEvalua // Returns a list of the monitoring evaluation results and predictor events // collected by the monitor resource during different windows of time. // -// For information about monitoring see Viewing Monitoring Results (https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html). -// For more information about retrieving monitoring results see Viewing Monitoring -// Results (https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html). +// For information about monitoring see predictor-monitoring. For more information +// about retrieving monitoring results see Viewing Monitoring Results (https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.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 @@ -6321,6 +6320,14 @@ type CreateAutoPredictorInput struct { // do not count against your tags per resource limit. You cannot edit or // delete tag keys with this prefix. Tags []*Tag `type:"list"` + + // The time boundary Forecast uses to align and aggregate any data that doesn't + // align with your forecast frequency. Provide the unit of time and the time + // boundary as a key value pair. For more information on specifying a time boundary, + // see Specifying a Time Boundary (https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary). + // If you don't provide a time boundary, Forecast uses a set of Default Time + // Boundaries (https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries). + TimeAlignmentBoundary *TimeAlignmentBoundary `type:"structure"` } // String returns the string representation. @@ -6384,6 +6391,11 @@ func (s *CreateAutoPredictorInput) Validate() error { } } } + if s.TimeAlignmentBoundary != nil { + if err := s.TimeAlignmentBoundary.Validate(); err != nil { + invalidParams.AddNested("TimeAlignmentBoundary", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6463,6 +6475,12 @@ func (s *CreateAutoPredictorInput) SetTags(v []*Tag) *CreateAutoPredictorInput { return s } +// SetTimeAlignmentBoundary sets the TimeAlignmentBoundary field's value. +func (s *CreateAutoPredictorInput) SetTimeAlignmentBoundary(v *TimeAlignmentBoundary) *CreateAutoPredictorInput { + s.TimeAlignmentBoundary = v + return s +} + type CreateAutoPredictorOutput struct { _ struct{} `type:"structure"` @@ -9787,6 +9805,9 @@ type DescribeAutoPredictorOutput struct { // // * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED Status *string `type:"string"` + + // The time boundary Forecast uses when aggregating data. + TimeAlignmentBoundary *TimeAlignmentBoundary `type:"structure"` } // String returns the string representation. @@ -9915,6 +9936,12 @@ func (s *DescribeAutoPredictorOutput) SetStatus(v string) *DescribeAutoPredictor return s } +// SetTimeAlignmentBoundary sets the TimeAlignmentBoundary field's value. +func (s *DescribeAutoPredictorOutput) SetTimeAlignmentBoundary(v *TimeAlignmentBoundary) *DescribeAutoPredictorOutput { + s.TimeAlignmentBoundary = v + return s +} + type DescribeDatasetGroupInput struct { _ struct{} `type:"structure"` @@ -15911,6 +15938,7 @@ type PredictorMonitorEvaluation struct { // Baseline to see how your predictor's performance is changing. MetricResults []*MetricResult `type:"list"` + // The Amazon Resource Name (ARN) of the monitor resource. MonitorArn *string `type:"string"` // The source of the data the monitor resource used during the evaluation. @@ -15922,6 +15950,7 @@ type PredictorMonitorEvaluation struct { // Provides details about a predictor event, such as a retraining. PredictorEvent *PredictorEvent `type:"structure"` + // The Amazon Resource Name (ARN) of the resource to monitor. ResourceArn *string `type:"string"` // The timestamp that indicates the end of the window that is used for monitor @@ -17370,6 +17399,88 @@ func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary { return s } +// The time boundary Forecast uses to align and aggregate your data to match +// your forecast frequency. Provide the unit of time and the time boundary as +// a key value pair. If you don't provide a time boundary, Forecast uses a set +// of Default Time Boundaries (https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries). +// +// For more information about aggregation, see Data Aggregation for Different +// Forecast Frequencies (https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html). +// For more information setting a custom time boundary, see Specifying a Time +// Boundary (https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary). +type TimeAlignmentBoundary struct { + _ struct{} `type:"structure"` + + // The day of the month to use for time alignment during aggregation. + DayOfMonth *int64 `min:"1" type:"integer"` + + // The day of week to use for time alignment during aggregation. The day must + // be in uppercase. + DayOfWeek *string `type:"string" enum:"DayOfWeek"` + + // The hour of day to use for time alignment during aggregation. + Hour *int64 `type:"integer"` + + // The month to use for time alignment during aggregation. The month must be + // in uppercase. + Month *string `type:"string" enum:"Month"` +} + +// 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 TimeAlignmentBoundary) 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 TimeAlignmentBoundary) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimeAlignmentBoundary) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimeAlignmentBoundary"} + if s.DayOfMonth != nil && *s.DayOfMonth < 1 { + invalidParams.Add(request.NewErrParamMinValue("DayOfMonth", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDayOfMonth sets the DayOfMonth field's value. +func (s *TimeAlignmentBoundary) SetDayOfMonth(v int64) *TimeAlignmentBoundary { + s.DayOfMonth = &v + return s +} + +// SetDayOfWeek sets the DayOfWeek field's value. +func (s *TimeAlignmentBoundary) SetDayOfWeek(v string) *TimeAlignmentBoundary { + s.DayOfWeek = &v + return s +} + +// SetHour sets the Hour field's value. +func (s *TimeAlignmentBoundary) SetHour(v int64) *TimeAlignmentBoundary { + s.Hour = &v + return s +} + +// SetMonth sets the Month field's value. +func (s *TimeAlignmentBoundary) SetMonth(v string) *TimeAlignmentBoundary { + s.Month = &v + return s +} + type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -17721,6 +17832,42 @@ func DatasetType_Values() []string { } } +const ( + // DayOfWeekMonday is a DayOfWeek enum value + DayOfWeekMonday = "MONDAY" + + // DayOfWeekTuesday is a DayOfWeek enum value + DayOfWeekTuesday = "TUESDAY" + + // DayOfWeekWednesday is a DayOfWeek enum value + DayOfWeekWednesday = "WEDNESDAY" + + // DayOfWeekThursday is a DayOfWeek enum value + DayOfWeekThursday = "THURSDAY" + + // DayOfWeekFriday is a DayOfWeek enum value + DayOfWeekFriday = "FRIDAY" + + // DayOfWeekSaturday is a DayOfWeek enum value + DayOfWeekSaturday = "SATURDAY" + + // DayOfWeekSunday is a DayOfWeek enum value + DayOfWeekSunday = "SUNDAY" +) + +// DayOfWeek_Values returns all elements of the DayOfWeek enum +func DayOfWeek_Values() []string { + return []string{ + DayOfWeekMonday, + DayOfWeekTuesday, + DayOfWeekWednesday, + DayOfWeekThursday, + DayOfWeekFriday, + DayOfWeekSaturday, + DayOfWeekSunday, + } +} + const ( // DomainRetail is a Domain enum value DomainRetail = "RETAIL" @@ -17801,6 +17948,62 @@ func FilterConditionString_Values() []string { } } +const ( + // MonthJanuary is a Month enum value + MonthJanuary = "JANUARY" + + // MonthFebruary is a Month enum value + MonthFebruary = "FEBRUARY" + + // MonthMarch is a Month enum value + MonthMarch = "MARCH" + + // MonthApril is a Month enum value + MonthApril = "APRIL" + + // MonthMay is a Month enum value + MonthMay = "MAY" + + // MonthJune is a Month enum value + MonthJune = "JUNE" + + // MonthJuly is a Month enum value + MonthJuly = "JULY" + + // MonthAugust is a Month enum value + MonthAugust = "AUGUST" + + // MonthSeptember is a Month enum value + MonthSeptember = "SEPTEMBER" + + // MonthOctober is a Month enum value + MonthOctober = "OCTOBER" + + // MonthNovember is a Month enum value + MonthNovember = "NOVEMBER" + + // MonthDecember is a Month enum value + MonthDecember = "DECEMBER" +) + +// Month_Values returns all elements of the Month enum +func Month_Values() []string { + return []string{ + MonthJanuary, + MonthFebruary, + MonthMarch, + MonthApril, + MonthMay, + MonthJune, + MonthJuly, + MonthAugust, + MonthSeptember, + MonthOctober, + MonthNovember, + MonthDecember, + } +} + const ( // OptimizationMetricWape is a OptimizationMetric enum value OptimizationMetricWape = "WAPE" diff --git a/service/lightsail/api.go b/service/lightsail/api.go index d78589b3b95..2a269788bb8 100644 --- a/service/lightsail/api.go +++ b/service/lightsail/api.go @@ -19957,6 +19957,15 @@ type ContainerService struct { // default virtual private cloud (VPC) of your Lightsail account. PrivateDomainName *string `locationName:"privateDomainName" type:"string"` + // An object that describes the configuration for the container service to access + // private container image repositories, such as Amazon Elastic Container Registry + // (Amazon ECR) private repositories. + // + // For more information, see Configuring access to an Amazon ECR private repository + // for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) + // in the Amazon Lightsail Developer Guide. + PrivateRegistryAccess *PrivateRegistryAccess `locationName:"privateRegistryAccess" type:"structure"` + // The public domain name of the container service, such as example.com and // www.example.com. // @@ -20108,6 +20117,12 @@ func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService { return s } +// SetPrivateRegistryAccess sets the PrivateRegistryAccess field's value. +func (s *ContainerService) SetPrivateRegistryAccess(v *PrivateRegistryAccess) *ContainerService { + s.PrivateRegistryAccess = v + return s +} + // SetPublicDomainNames sets the PublicDomainNames field's value. func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService { s.PublicDomainNames = v @@ -20297,6 +20312,101 @@ func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest return s } +// Describes the activation status of the role that you can use to grant an +// Amazon Lightsail container service access to Amazon Elastic Container Registry +// (Amazon ECR) private repositories. +// +// When activated, Lightsail creates an Identity and Access Management (IAM) +// role for the specified Lightsail container service. You can use the ARN of +// the role to create a trust relationship between your Lightsail container +// service and an Amazon ECR private repository in your Amazon Web Services +// account. This allows your container service to pull images from Amazon ECR +// private repositories. For more information, see Configuring access to an +// Amazon ECR private repository for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) +// in the Amazon Lightsail Developer Guide. +type ContainerServiceECRImagePullerRole struct { + _ struct{} `type:"structure"` + + // A Boolean value that indicates whether the role is activated. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The Amazon Resource Name (ARN) of the role, if it is activated. + PrincipalArn *string `locationName:"principalArn" 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 ContainerServiceECRImagePullerRole) 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 ContainerServiceECRImagePullerRole) GoString() string { + return s.String() +} + +// SetIsActive sets the IsActive field's value. +func (s *ContainerServiceECRImagePullerRole) SetIsActive(v bool) *ContainerServiceECRImagePullerRole { + s.IsActive = &v + return s +} + +// SetPrincipalArn sets the PrincipalArn field's value. +func (s *ContainerServiceECRImagePullerRole) SetPrincipalArn(v string) *ContainerServiceECRImagePullerRole { + s.PrincipalArn = &v + return s +} + +// Describes a request to activate or deactivate the role that you can use to +// grant an Amazon Lightsail container service access to Amazon Elastic Container +// Registry (Amazon ECR) private repositories. +// +// When activated, Lightsail creates an Identity and Access Management (IAM) +// role for the specified Lightsail container service. You can use the ARN of +// the role to create a trust relationship between your Lightsail container +// service and an Amazon ECR private repository in your Amazon Web Services +// account. This allows your container service to pull images from Amazon ECR +// private repositories. For more information, see Configuring access to an +// Amazon ECR private repository for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) +// in the Amazon Lightsail Developer Guide. +type ContainerServiceECRImagePullerRoleRequest struct { + _ struct{} `type:"structure"` + + // A Boolean value that indicates whether to activate the role. + IsActive *bool `locationName:"isActive" 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 ContainerServiceECRImagePullerRoleRequest) 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 ContainerServiceECRImagePullerRoleRequest) GoString() string { + return s.String() +} + +// SetIsActive sets the IsActive field's value. +func (s *ContainerServiceECRImagePullerRoleRequest) SetIsActive(v bool) *ContainerServiceECRImagePullerRoleRequest { + s.IsActive = &v + return s +} + // Describes the public endpoint configuration of a deployment of an Amazon // Lightsail container service. type ContainerServiceEndpoint struct { @@ -21616,6 +21726,15 @@ type CreateContainerServiceInput struct { // Power is a required field Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"` + // An object to describe the configuration for the container service to access + // private container image repositories, such as Amazon Elastic Container Registry + // (Amazon ECR) private repositories. + // + // For more information, see Configuring access to an Amazon ECR private repository + // for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) + // in the Amazon Lightsail Developer Guide. + PrivateRegistryAccess *PrivateRegistryAccessRequest `locationName:"privateRegistryAccess" type:"structure"` + // The public domain names to use with the container service, such as example.com // and www.example.com. // @@ -21738,6 +21857,12 @@ func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerService return s } +// SetPrivateRegistryAccess sets the PrivateRegistryAccess field's value. +func (s *CreateContainerServiceInput) SetPrivateRegistryAccess(v *PrivateRegistryAccessRequest) *CreateContainerServiceInput { + s.PrivateRegistryAccess = v + return s +} + // SetPublicDomainNames sets the PublicDomainNames field's value. func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput { s.PublicDomainNames = v @@ -38262,6 +38387,87 @@ func (s *PortInfo) SetToPort(v int64) *PortInfo { return s } +// Describes the configuration for an Amazon Lightsail container service to +// access private container image repositories, such as Amazon Elastic Container +// Registry (Amazon ECR) private repositories. +// +// For more information, see Configuring access to an Amazon ECR private repository +// for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) +// in the Amazon Lightsail Developer Guide. +type PrivateRegistryAccess struct { + _ struct{} `type:"structure"` + + // An object that describes the activation status of the role that you can use + // to grant a Lightsail container service access to Amazon ECR private repositories. + // If the role is activated, the Amazon Resource Name (ARN) of the role is also + // listed. + EcrImagePullerRole *ContainerServiceECRImagePullerRole `locationName:"ecrImagePullerRole" 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 PrivateRegistryAccess) 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 PrivateRegistryAccess) GoString() string { + return s.String() +} + +// SetEcrImagePullerRole sets the EcrImagePullerRole field's value. +func (s *PrivateRegistryAccess) SetEcrImagePullerRole(v *ContainerServiceECRImagePullerRole) *PrivateRegistryAccess { + s.EcrImagePullerRole = v + return s +} + +// Describes a request to configure an Amazon Lightsail container service to +// access private container image repositories, such as Amazon Elastic Container +// Registry (Amazon ECR) private repositories. +// +// For more information, see Configuring access to an Amazon ECR private repository +// for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) +// in the Amazon Lightsail Developer Guide. +type PrivateRegistryAccessRequest struct { + _ struct{} `type:"structure"` + + // An object to describe a request to activate or deactivate the role that you + // can use to grant an Amazon Lightsail container service access to Amazon Elastic + // Container Registry (Amazon ECR) private repositories. + EcrImagePullerRole *ContainerServiceECRImagePullerRoleRequest `locationName:"ecrImagePullerRole" 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 PrivateRegistryAccessRequest) 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 PrivateRegistryAccessRequest) GoString() string { + return s.String() +} + +// SetEcrImagePullerRole sets the EcrImagePullerRole field's value. +func (s *PrivateRegistryAccessRequest) SetEcrImagePullerRole(v *ContainerServiceECRImagePullerRoleRequest) *PrivateRegistryAccessRequest { + s.EcrImagePullerRole = v + return s +} + type PutAlarmInput struct { _ struct{} `type:"structure"` @@ -41883,6 +42089,15 @@ type UpdateContainerServiceInput struct { // power option. Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"` + // An object to describe the configuration for the container service to access + // private container image repositories, such as Amazon Elastic Container Registry + // (Amazon ECR) private repositories. + // + // For more information, see Configuring access to an Amazon ECR private repository + // for an Amazon Lightsail container service (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-service-ecr-private-repo-access) + // in the Amazon Lightsail Developer Guide. + PrivateRegistryAccess *PrivateRegistryAccessRequest `locationName:"privateRegistryAccess" type:"structure"` + // The public domain names to use with the container service, such as example.com // and www.example.com. // @@ -41965,6 +42180,12 @@ func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerService return s } +// SetPrivateRegistryAccess sets the PrivateRegistryAccess field's value. +func (s *UpdateContainerServiceInput) SetPrivateRegistryAccess(v *PrivateRegistryAccessRequest) *UpdateContainerServiceInput { + s.PrivateRegistryAccess = v + return s +} + // SetPublicDomainNames sets the PublicDomainNames field's value. func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput { s.PublicDomainNames = v