From 117f465247cbfda08b077b40888be224a41d62fa Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 12 Dec 2023 14:30:12 -0500 Subject: [PATCH] Release v1.49.1 (2023-12-12) (#5106) Release v1.49.1 (2023-12-12) === ### Service Client Updates * `service/imagebuilder`: Updates service API, documentation, and paginators * `service/location`: Updates service API and documentation * `service/logs`: Updates service API and documentation * This release introduces the StartLiveTail API to tail ingested logs in near real time. --- CHANGELOG.md | 9 + aws/endpoints/defaults.go | 3 + aws/version.go | 2 +- .../apis/imagebuilder/2019-12-02/api-2.json | 509 +- .../apis/imagebuilder/2019-12-02/docs-2.json | 388 +- .../imagebuilder/2019-12-02/paginators-1.json | 18 + models/apis/location/2020-11-19/api-2.json | 10 + models/apis/location/2020-11-19/docs-2.json | 12 +- models/apis/logs/2014-03-28/api-2.json | 114 + models/apis/logs/2014-03-28/docs-2.json | 118 +- models/endpoints/endpoints.json | 1 + service/cloudwatchlogs/api.go | 1368 +- .../cloudwatchlogsiface/interface.go | 4 + service/cloudwatchlogs/errors.go | 15 + service/cloudwatchlogs/service.go | 3 + service/imagebuilder/api.go | 22106 +++++++++------- .../imagebuilderiface/interface.go | 37 + service/locationservice/api.go | 55 +- 18 files changed, 14898 insertions(+), 9874 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f60200fa78..337d3ace2e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Release v1.49.1 (2023-12-12) +=== + +### Service Client Updates +* `service/imagebuilder`: Updates service API, documentation, and paginators +* `service/location`: Updates service API and documentation +* `service/logs`: Updates service API and documentation + * This release introduces the StartLiveTail API to tail ingested logs in near real time. + Release v1.49.0 (2023-12-11) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index cdf456abe1b..b3d8f8c2c94 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -5028,6 +5028,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 06b0728a2da..9f8577b1158 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.49.0" +const SDKVersion = "1.49.1" diff --git a/models/apis/imagebuilder/2019-12-02/api-2.json b/models/apis/imagebuilder/2019-12-02/api-2.json index 000b74a1df3..067e38af38b 100644 --- a/models/apis/imagebuilder/2019-12-02/api-2.json +++ b/models/apis/imagebuilder/2019-12-02/api-2.json @@ -222,6 +222,28 @@ {"shape":"ServiceQuotaExceededException"} ] }, + "CreateWorkflow":{ + "name":"CreateWorkflow", + "http":{ + "method":"PUT", + "requestUri":"/CreateWorkflow" + }, + "input":{"shape":"CreateWorkflowRequest"}, + "output":{"shape":"CreateWorkflowResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ServiceQuotaExceededException"} + ] + }, "DeleteComponent":{ "name":"DeleteComponent", "http":{ @@ -366,6 +388,24 @@ {"shape":"ResourceDependencyException"} ] }, + "DeleteWorkflow":{ + "name":"DeleteWorkflow", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteWorkflow" + }, + "input":{"shape":"DeleteWorkflowRequest"}, + "output":{"shape":"DeleteWorkflowResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, "GetComponent":{ "name":"GetComponent", "http":{ @@ -587,6 +627,23 @@ {"shape":"CallRateLimitExceededException"} ] }, + "GetWorkflow":{ + "name":"GetWorkflow", + "http":{ + "method":"GET", + "requestUri":"/GetWorkflow" + }, + "input":{"shape":"GetWorkflowRequest"}, + "output":{"shape":"GetWorkflowResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, "GetWorkflowExecution":{ "name":"GetWorkflowExecution", "http":{ @@ -960,6 +1017,42 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListWaitingWorkflowSteps":{ + "name":"ListWaitingWorkflowSteps", + "http":{ + "method":"POST", + "requestUri":"/ListWaitingWorkflowSteps" + }, + "input":{"shape":"ListWaitingWorkflowStepsRequest"}, + "output":{"shape":"ListWaitingWorkflowStepsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListWorkflowBuildVersions":{ + "name":"ListWorkflowBuildVersions", + "http":{ + "method":"POST", + "requestUri":"/ListWorkflowBuildVersions" + }, + "input":{"shape":"ListWorkflowBuildVersionsRequest"}, + "output":{"shape":"ListWorkflowBuildVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, "ListWorkflowExecutions":{ "name":"ListWorkflowExecutions", "http":{ @@ -996,6 +1089,24 @@ {"shape":"CallRateLimitExceededException"} ] }, + "ListWorkflows":{ + "name":"ListWorkflows", + "http":{ + "method":"POST", + "requestUri":"/ListWorkflows" + }, + "input":{"shape":"ListWorkflowsRequest"}, + "output":{"shape":"ListWorkflowsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, "PutComponentPolicy":{ "name":"PutComponentPolicy", "http":{ @@ -1072,6 +1183,27 @@ {"shape":"CallRateLimitExceededException"} ] }, + "SendWorkflowStepAction":{ + "name":"SendWorkflowStepAction", + "http":{ + "method":"PUT", + "requestUri":"/SendWorkflowStepAction" + }, + "input":{"shape":"SendWorkflowStepActionRequest"}, + "output":{"shape":"SendWorkflowStepActionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, "StartImagePipelineExecution":{ "name":"StartImagePipelineExecution", "http":{ @@ -1715,7 +1847,9 @@ "shape":"ClientToken", "idempotencyToken":true }, - "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"} + "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}, + "workflows":{"shape":"WorkflowConfigurationList"}, + "executionRole":{"shape":"RoleNameOrArn"} } }, "CreateImagePipelineResponse":{ @@ -1777,7 +1911,9 @@ "shape":"ClientToken", "idempotencyToken":true }, - "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"} + "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}, + "workflows":{"shape":"WorkflowConfigurationList"}, + "executionRole":{"shape":"RoleNameOrArn"} } }, "CreateImageResponse":{ @@ -1855,6 +1991,37 @@ "lifecyclePolicyArn":{"shape":"LifecyclePolicyArn"} } }, + "CreateWorkflowRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "clientToken", + "type" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "semanticVersion":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "data":{"shape":"InlineWorkflowData"}, + "uri":{"shape":"Uri"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "type":{"shape":"WorkflowType"} + } + }, + "CreateWorkflowResponse":{ + "type":"structure", + "members":{ + "clientToken":{"shape":"ClientToken"}, + "workflowBuildVersionArn":{"shape":"WorkflowBuildVersionArn"} + } + }, "CvssScore":{ "type":"structure", "members":{ @@ -2035,6 +2202,23 @@ "lifecyclePolicyArn":{"shape":"LifecyclePolicyArn"} } }, + "DeleteWorkflowRequest":{ + "type":"structure", + "required":["workflowBuildVersionArn"], + "members":{ + "workflowBuildVersionArn":{ + "shape":"WorkflowBuildVersionArn", + "location":"querystring", + "locationName":"workflowBuildVersionArn" + } + } + }, + "DeleteWorkflowResponse":{ + "type":"structure", + "members":{ + "workflowBuildVersionArn":{"shape":"WorkflowBuildVersionArn"} + } + }, "DiskImageFormat":{ "type":"string", "enum":[ @@ -2477,7 +2661,25 @@ "totalStepsFailed":{"shape":"WorkflowStepCount"}, "totalStepsSkipped":{"shape":"WorkflowStepCount"}, "startTime":{"shape":"DateTime"}, - "endTime":{"shape":"DateTime"} + "endTime":{"shape":"DateTime"}, + "parallelGroup":{"shape":"ParallelGroup"} + } + }, + "GetWorkflowRequest":{ + "type":"structure", + "required":["workflowBuildVersionArn"], + "members":{ + "workflowBuildVersionArn":{ + "shape":"WorkflowVersionArnOrBuildVersionArn", + "location":"querystring", + "locationName":"workflowBuildVersionArn" + } + } + }, + "GetWorkflowResponse":{ + "type":"structure", + "members":{ + "workflow":{"shape":"Workflow"} } }, "GetWorkflowStepExecutionRequest":{ @@ -2556,7 +2758,9 @@ "scanState":{"shape":"ImageScanState"}, "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}, "deprecationTime":{"shape":"DateTimeTimestamp"}, - "lifecycleExecutionId":{"shape":"LifecycleExecutionId"} + "lifecycleExecutionId":{"shape":"LifecycleExecutionId"}, + "executionRole":{"shape":"RoleNameOrArn"}, + "workflows":{"shape":"WorkflowConfigurationList"} } }, "ImageAggregation":{ @@ -2610,7 +2814,9 @@ "dateLastRun":{"shape":"DateTime"}, "dateNextRun":{"shape":"DateTime"}, "tags":{"shape":"TagMap"}, - "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"} + "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}, + "executionRole":{"shape":"RoleNameOrArn"}, + "workflows":{"shape":"WorkflowConfigurationList"} } }, "ImagePipelineAggregation":{ @@ -2974,6 +3180,12 @@ "min":1, "pattern":"[^\\x00]+" }, + "InlineWorkflowData":{ + "type":"string", + "max":16000, + "min":1, + "pattern":"[^\\x00]+" + }, "InspectorScoreDetails":{ "type":"structure", "members":{ @@ -3731,6 +3943,42 @@ "tags":{"shape":"TagMap"} } }, + "ListWaitingWorkflowStepsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListWaitingWorkflowStepsResponse":{ + "type":"structure", + "members":{ + "steps":{"shape":"WorkflowStepExecutionList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListWorkflowBuildVersionsRequest":{ + "type":"structure", + "required":["workflowVersionArn"], + "members":{ + "workflowVersionArn":{"shape":"WorkflowWildcardVersionArn"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListWorkflowBuildVersionsResponse":{ + "type":"structure", + "members":{ + "workflowSummaryList":{"shape":"WorkflowSummaryList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListWorkflowExecutionsRequest":{ "type":"structure", "required":["imageBuildVersionArn"], @@ -3777,6 +4025,26 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListWorkflowsRequest":{ + "type":"structure", + "members":{ + "owner":{"shape":"Ownership"}, + "filters":{"shape":"FilterList"}, + "byName":{"shape":"Boolean"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListWorkflowsResponse":{ + "type":"structure", + "members":{ + "workflowVersionList":{"shape":"WorkflowVersionList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "Logging":{ "type":"structure", "members":{ @@ -3802,6 +4070,13 @@ "min":0 }, "NullableBoolean":{"type":"boolean"}, + "OnWorkflowFailure":{ + "type":"string", + "enum":[ + "CONTINUE", + "ABORT" + ] + }, "OrganizationArn":{ "type":"string", "pattern":"^arn:aws[^:]*:organizations::[0-9]{12}:organization/o-[a-z0-9]{10,32}$" @@ -3871,6 +4146,12 @@ "max":65535, "min":1 }, + "ParallelGroup":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[A-Za-z0-9][A-Za-z0-9-_+#]{0,99}$" + }, "PipelineExecutionStartCondition":{ "type":"string", "enum":[ @@ -4102,6 +4383,33 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "SendWorkflowStepActionRequest":{ + "type":"structure", + "required":[ + "stepExecutionId", + "imageBuildVersionArn", + "action", + "clientToken" + ], + "members":{ + "stepExecutionId":{"shape":"WorkflowStepExecutionId"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}, + "action":{"shape":"WorkflowStepActionType"}, + "reason":{"shape":"NonEmptyString"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "SendWorkflowStepActionResponse":{ + "type":"structure", + "members":{ + "stepExecutionId":{"shape":"WorkflowStepExecutionId"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}, + "clientToken":{"shape":"ClientToken"} + } + }, "ServiceException":{ "type":"structure", "members":{ @@ -4336,7 +4644,9 @@ "shape":"ClientToken", "idempotencyToken":true }, - "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"} + "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}, + "workflows":{"shape":"WorkflowConfigurationList"}, + "executionRole":{"shape":"RoleNameOrArn"} } }, "UpdateImagePipelineResponse":{ @@ -4453,11 +4763,44 @@ "type":"list", "member":{"shape":"VulnerablePackage"} }, + "Workflow":{ + "type":"structure", + "members":{ + "arn":{"shape":"WorkflowBuildVersionArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "type":{"shape":"WorkflowType"}, + "state":{"shape":"WorkflowState"}, + "owner":{"shape":"NonEmptyString"}, + "data":{"shape":"WorkflowData"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"}, + "parameters":{"shape":"WorkflowParameterDetailList"} + } + }, "WorkflowBuildVersionArn":{ "type":"string", "max":1024, "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" }, + "WorkflowConfiguration":{ + "type":"structure", + "required":["workflowArn"], + "members":{ + "workflowArn":{"shape":"WorkflowVersionArnOrBuildVersionArn"}, + "parameters":{"shape":"WorkflowParameterList"}, + "parallelGroup":{"shape":"ParallelGroup"}, + "onFailure":{"shape":"OnWorkflowFailure"} + } + }, + "WorkflowConfigurationList":{ + "type":"list", + "member":{"shape":"WorkflowConfiguration"} + }, + "WorkflowData":{"type":"string"}, "WorkflowExecutionId":{ "type":"string", "pattern":"^wf-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" @@ -4480,7 +4823,8 @@ "totalStepsFailed":{"shape":"WorkflowStepCount"}, "totalStepsSkipped":{"shape":"WorkflowStepCount"}, "startTime":{"shape":"DateTime"}, - "endTime":{"shape":"DateTime"} + "endTime":{"shape":"DateTime"}, + "parallelGroup":{"shape":"ParallelGroup"} } }, "WorkflowExecutionStatus":{ @@ -4492,27 +4836,126 @@ "COMPLETED", "FAILED", "ROLLBACK_IN_PROGRESS", - "ROLLBACK_COMPLETED" + "ROLLBACK_COMPLETED", + "CANCELLED" ] }, "WorkflowExecutionsList":{ "type":"list", "member":{"shape":"WorkflowExecutionMetadata"} }, + "WorkflowNameArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/x\\.x\\.x$" + }, + "WorkflowParameter":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{"shape":"WorkflowParameterName"}, + "value":{"shape":"WorkflowParameterValueList"} + } + }, + "WorkflowParameterDescription":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[^\\x00]+" + }, + "WorkflowParameterDetail":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{"shape":"WorkflowParameterName"}, + "type":{"shape":"WorkflowParameterType"}, + "defaultValue":{"shape":"WorkflowParameterValueList"}, + "description":{"shape":"WorkflowParameterDescription"} + } + }, + "WorkflowParameterDetailList":{ + "type":"list", + "member":{"shape":"WorkflowParameterDetail"} + }, + "WorkflowParameterList":{ + "type":"list", + "member":{"shape":"WorkflowParameter"}, + "min":1 + }, + "WorkflowParameterName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[^\\x00]+" + }, + "WorkflowParameterType":{ + "type":"string", + "max":20, + "min":1, + "pattern":"^string|integer|boolean|stringList$" + }, + "WorkflowParameterValue":{ + "type":"string", + "min":0, + "pattern":"[^\\x00]*" + }, + "WorkflowParameterValueList":{ + "type":"list", + "member":{"shape":"WorkflowParameterValue"} + }, + "WorkflowState":{ + "type":"structure", + "members":{ + "status":{"shape":"WorkflowStatus"}, + "reason":{"shape":"NonEmptyString"} + } + }, + "WorkflowStatus":{ + "type":"string", + "enum":["DEPRECATED"] + }, "WorkflowStepAction":{ "type":"string", "pattern":"^[A-Za-z][A-Za-z0-9-_]{1,99}$" }, + "WorkflowStepActionType":{ + "type":"string", + "enum":[ + "RESUME", + "STOP" + ] + }, "WorkflowStepCount":{"type":"integer"}, "WorkflowStepDescription":{ "type":"string", "max":500, "min":0 }, + "WorkflowStepExecution":{ + "type":"structure", + "members":{ + "stepExecutionId":{"shape":"WorkflowStepExecutionId"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}, + "workflowExecutionId":{"shape":"WorkflowExecutionId"}, + "workflowBuildVersionArn":{"shape":"WorkflowBuildVersionArn"}, + "name":{"shape":"WorkflowStepName"}, + "action":{"shape":"WorkflowStepAction"}, + "startTime":{"shape":"DateTime"} + } + }, "WorkflowStepExecutionId":{ "type":"string", "pattern":"^step-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, + "WorkflowStepExecutionList":{ + "type":"list", + "member":{"shape":"WorkflowStepExecution"} + }, "WorkflowStepExecutionRollbackStatus":{ "type":"string", "enum":[ @@ -4529,7 +4972,8 @@ "SKIPPED", "RUNNING", "COMPLETED", - "FAILED" + "FAILED", + "CANCELLED" ] }, "WorkflowStepExecutionsList":{ @@ -4568,6 +5012,25 @@ "max":43200, "min":0 }, + "WorkflowSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"WorkflowNameArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "type":{"shape":"WorkflowType"}, + "owner":{"shape":"NonEmptyString"}, + "state":{"shape":"WorkflowState"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "WorkflowSummaryList":{ + "type":"list", + "member":{"shape":"WorkflowSummary"} + }, "WorkflowType":{ "type":"string", "enum":[ @@ -4575,6 +5038,34 @@ "TEST", "DISTRIBUTION" ] + }, + "WorkflowVersion":{ + "type":"structure", + "members":{ + "arn":{"shape":"WorkflowVersionArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "type":{"shape":"WorkflowType"}, + "owner":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"} + } + }, + "WorkflowVersionArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" + }, + "WorkflowVersionArnOrBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" + }, + "WorkflowVersionList":{ + "type":"list", + "member":{"shape":"WorkflowVersion"} + }, + "WorkflowWildcardVersionArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:[0-9]+|x)\\.(?:[0-9]+|x)\\.(?:[0-9]+|x)$" } } } diff --git a/models/apis/imagebuilder/2019-12-02/docs-2.json b/models/apis/imagebuilder/2019-12-02/docs-2.json index 02bdb780618..ceef77ece86 100644 --- a/models/apis/imagebuilder/2019-12-02/docs-2.json +++ b/models/apis/imagebuilder/2019-12-02/docs-2.json @@ -12,6 +12,7 @@ "CreateImageRecipe": "

Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.

", "CreateInfrastructureConfiguration": "

Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

", "CreateLifecyclePolicy": "

Create a lifecycle policy resource.

", + "CreateWorkflow": "

Create a new workflow or a new version of an existing workflow.

", "DeleteComponent": "

Deletes a component build version.

", "DeleteContainerRecipe": "

Deletes a container recipe.

", "DeleteDistributionConfiguration": "

Deletes a distribution configuration.

", @@ -20,6 +21,7 @@ "DeleteImageRecipe": "

Deletes an image recipe.

", "DeleteInfrastructureConfiguration": "

Deletes an infrastructure configuration.

", "DeleteLifecyclePolicy": "

Delete the specified lifecycle policy resource.

", + "DeleteWorkflow": "

Deletes a specific workflow resource.

", "GetComponent": "

Gets a component object.

", "GetComponentPolicy": "

Gets a component policy.

", "GetContainerRecipe": "

Retrieves a container recipe.

", @@ -33,6 +35,7 @@ "GetInfrastructureConfiguration": "

Gets an infrastructure configuration.

", "GetLifecycleExecution": "

Get the runtime information that was logged for a specific runtime instance of the lifecycle policy.

", "GetLifecyclePolicy": "

Get details for the specified image lifecycle policy.

", + "GetWorkflow": "

Get a workflow resource object.

", "GetWorkflowExecution": "

Get the runtime information that was logged for a specific runtime instance of the workflow.

", "GetWorkflowStepExecution": "

Get the runtime information that was logged for a specific runtime instance of the workflow step.

", "ImportComponent": "

Imports a component and transforms its data into a component document.

", @@ -54,18 +57,22 @@ "ListLifecycleExecutions": "

Get the lifecycle runtime history for the specified resource.

", "ListLifecyclePolicies": "

Get a list of lifecycle policies in your Amazon Web Services account.

", "ListTagsForResource": "

Returns the list of tags for the specified resource.

", + "ListWaitingWorkflowSteps": "

Get a list of workflow steps that are waiting for action for workflows in your Amazon Web Services account.

", + "ListWorkflowBuildVersions": "

Returns a list of build versions for a specific workflow resource.

", "ListWorkflowExecutions": "

Returns a list of workflow runtime instance metadata objects for a specific image build version.

", - "ListWorkflowStepExecutions": "

Shows runtime data for each step in a runtime instance of the workflow that you specify in the request.

", + "ListWorkflowStepExecutions": "

Returns runtime data for each step in a runtime instance of the workflow that you specify in the request.

", + "ListWorkflows": "

Lists workflow build versions based on filtering parameters.

", "PutComponentPolicy": "

Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

", "PutContainerRecipePolicy": "

Applies a policy to a container image. We recommend that you call the RAM API CreateResourceShare (https://docs.aws.amazon.com//ram/latest/APIReference/API_CreateResourceShare.html) to share resources. If you call the Image Builder API PutContainerImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com//ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) in order for the resource to be visible to all principals with whom the resource is shared.

", "PutImagePolicy": "

Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

", "PutImageRecipePolicy": "

Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

", + "SendWorkflowStepAction": "

Pauses or resumes image creation when the associated workflow runs a WaitForAction step.

", "StartImagePipelineExecution": "

Manually triggers a pipeline to create an image.

", "StartResourceStateUpdate": "

Begin asynchronous resource state update for lifecycle changes to the specified image resources.

", "TagResource": "

Adds a tag to a resource.

", "UntagResource": "

Removes a tag from a resource.

", "UpdateDistributionConfiguration": "

Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

", - "UpdateImagePipeline": "

Updates an image pipeline. Image pipelines enable you to automate the creation and distribution of images.

UpdateImagePipeline does not support selective updates for the pipeline. You must specify all of the required properties in the update request, not just the properties that have changed.

", + "UpdateImagePipeline": "

Updates an image pipeline. Image pipelines enable you to automate the creation and distribution of images. You must specify exactly one recipe for your image, using either a containerRecipeArn or an imageRecipeArn.

UpdateImagePipeline does not support selective updates for the pipeline. You must specify all of the required properties in the update request, not just the properties that have changed.

", "UpdateInfrastructureConfiguration": "

Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

", "UpdateLifecyclePolicy": "

Update the specified lifecycle policy.

" }, @@ -89,7 +96,7 @@ "refs": { "AmiDistributionConfiguration$targetAccountIds": "

The ID of an account to which you want to distribute an image.

", "LaunchPermissionConfiguration$userIds": "

The Amazon Web Services account ID.

", - "LifecyclePolicyDetailExclusionRulesAmis$sharedAccounts": "

Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.

" + "LifecyclePolicyDetailExclusionRulesAmis$sharedAccounts": "

Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.

" } }, "AdditionalInstanceConfiguration": { @@ -148,6 +155,7 @@ "LifecyclePolicyDetailExclusionRulesAmis$isPublic": "

Configures whether public AMIs are excluded from the lifecycle action.

", "ListComponentsRequest$byName": "

Returns the list of components for the specified name.

", "ListImagesRequest$byName": "

Requests a list of images with a specific recipe name.

", + "ListWorkflowsRequest$byName": "

Specify all or part of the workflow name to streamline results.

", "ResourceStateUpdateIncludeResources$amis": "

Specifies whether the lifecycle action should apply to distributed AMIs

", "ResourceStateUpdateIncludeResources$snapshots": "

Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.

", "ResourceStateUpdateIncludeResources$containers": "

Specifies whether the lifecycle action should apply to distributed containers.

" @@ -213,10 +221,14 @@ "CreateInfrastructureConfigurationResponse$clientToken": "

The client token that uniquely identifies the request.

", "CreateLifecyclePolicyRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", "CreateLifecyclePolicyResponse$clientToken": "

The client token that uniquely identifies the request.

", + "CreateWorkflowRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", + "CreateWorkflowResponse$clientToken": "

The client token that uniquely identifies the request.

", "ImportComponentRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", "ImportComponentResponse$clientToken": "

The client token that uniquely identifies the request.

", "ImportVmImageRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", "ImportVmImageResponse$clientToken": "

The client token that uniquely identifies the request.

", + "SendWorkflowStepActionRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", + "SendWorkflowStepActionResponse$clientToken": "

The client token that uniquely identifies the request.

", "StartImagePipelineExecutionRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", "StartImagePipelineExecutionResponse$clientToken": "

The client token that uniquely identifies the request.

", "StartResourceStateUpdateRequest$clientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

", @@ -232,7 +244,7 @@ "Component": { "base": "

A detailed view of a component.

", "refs": { - "GetComponentResponse$component": "

The component object associated with the specified ARN.

" + "GetComponentResponse$component": "

The component object specified in the request.

" } }, "ComponentBuildVersionArn": { @@ -331,7 +343,7 @@ } }, "ComponentState": { - "base": "

A group of fields that describe the current status of components that are no longer active.

", + "base": "

A group of fields that describe the current status of components.

", "refs": { "Component$state": "

Describes the current status of the component. This is used for components that are no longer active.

", "ComponentSummary$state": "

Describes the current status of the component.

" @@ -535,6 +547,16 @@ "refs": { } }, + "CreateWorkflowRequest": { + "base": null, + "refs": { + } + }, + "CreateWorkflowResponse": { + "base": null, + "refs": { + } + }, "CvssScore": { "base": "

Amazon Inspector generates a risk score for each finding. This score helps you to prioritize findings, to focus on the most critical findings and the most vulnerable resources. The score uses the Common Vulnerability Scoring System (CVSS) format. This format is a modification of the base CVSS score that the National Vulnerability Database (NVD) provides. For more information about severity levels, see Severity levels for Amazon Inspector findings in the Amazon Inspector User Guide.

", "refs": { @@ -594,10 +616,14 @@ "InfrastructureConfiguration$dateUpdated": "

The date on which the infrastructure configuration was last updated.

", "InfrastructureConfigurationSummary$dateCreated": "

The date on which the infrastructure configuration was created.

", "InfrastructureConfigurationSummary$dateUpdated": "

The date on which the infrastructure configuration was last updated.

", + "Workflow$dateCreated": "

The timestamp when Image Builder created the workflow resource.

", "WorkflowExecutionMetadata$startTime": "

The timestamp when the runtime instance of this workflow started.

", "WorkflowExecutionMetadata$endTime": "

The timestamp when this runtime instance of the workflow finished.

", + "WorkflowStepExecution$startTime": "

The timestamp when the workflow step started.

", "WorkflowStepMetadata$startTime": "

The timestamp when the workflow step started.

", - "WorkflowStepMetadata$endTime": "

The timestamp when the workflow step finished.

" + "WorkflowStepMetadata$endTime": "

The timestamp when the workflow step finished.

", + "WorkflowSummary$dateCreated": "

The original creation date of the workflow resource.

", + "WorkflowVersion$dateCreated": "

The timestamp when Image Builder created the workflow version.

" } }, "DateTimeTimestamp": { @@ -700,6 +726,16 @@ "refs": { } }, + "DeleteWorkflowRequest": { + "base": null, + "refs": { + } + }, + "DeleteWorkflowResponse": { + "base": null, + "refs": { + } + }, "DiskImageFormat": { "base": null, "refs": { @@ -872,7 +908,8 @@ "ListImageRecipesRequest$filters": "

Use the following filters to streamline results:

", "ListImagesRequest$filters": "

Use the following filters to streamline results:

", "ListInfrastructureConfigurationsRequest$filters": "

You can filter on name to streamline results.

", - "ListLifecyclePoliciesRequest$filters": "

Streamline results based on one of the following values: Name, Status.

" + "ListLifecyclePoliciesRequest$filters": "

Streamline results based on one of the following values: Name, Status.

", + "ListWorkflowsRequest$filters": "

Used to streamline search results.

" } }, "FilterName": { @@ -1040,6 +1077,16 @@ "refs": { } }, + "GetWorkflowRequest": { + "base": null, + "refs": { + } + }, + "GetWorkflowResponse": { + "base": null, + "refs": { + } + }, "GetWorkflowStepExecutionRequest": { "base": null, "refs": { @@ -1105,9 +1152,12 @@ "ListWorkflowStepExecutionsResponse$imageBuildVersionArn": "

The image build version resource ARN that's associated with the specified runtime instance of the workflow.

", "PutImagePolicyRequest$imageArn": "

The Amazon Resource Name (ARN) of the image that this policy should be applied to.

", "PutImagePolicyResponse$imageArn": "

The Amazon Resource Name (ARN) of the image that this policy was applied to.

", + "SendWorkflowStepActionRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image build version to send action for.

", + "SendWorkflowStepActionResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image build version that received the action request.

", "StartImagePipelineExecutionResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that the request created.

", "StartResourceStateUpdateRequest$resourceArn": "

The ARN of the Image Builder resource that is updated. The state update might also impact associated resources.

", - "StartResourceStateUpdateResponse$resourceArn": "

The requested ARN of the Image Builder resource for the asynchronous update.

" + "StartResourceStateUpdateResponse$resourceArn": "

The requested ARN of the Image Builder resource for the asynchronous update.

", + "WorkflowStepExecution$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image build version that ran the workflow.

" } }, "ImageBuilderArn": { @@ -1427,6 +1477,12 @@ "CreateContainerRecipeRequest$dockerfileTemplateData": "

The Dockerfile template used to build your image as an inline data blob.

" } }, + "InlineWorkflowData": { + "base": null, + "refs": { + "CreateWorkflowRequest$data": "

Contains the UTF-8 encoded YAML document content for the workflow. Alternatively, you can specify the uri of a YAML document file stored in Amazon S3. However, you cannot specify both properties.

" + } + }, "InspectorScoreDetails": { "base": "

Information about the factors that influenced the score that Amazon Inspector assigned for a finding.

", "refs": { @@ -1708,7 +1764,7 @@ "LifecyclePolicyDetailExclusionRulesAmisLastLaunched": { "base": "

Defines criteria to exclude AMIs from lifecycle actions based on the last time they were used to launch an instance.

", "refs": { - "LifecyclePolicyDetailExclusionRulesAmis$lastLaunched": "

Configures Amazon Web Services Regions that are excluded from the lifecycle action.

" + "LifecyclePolicyDetailExclusionRulesAmis$lastLaunched": "

Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.

" } }, "LifecyclePolicyDetailExclusionRulesAmisLastLaunchedValue": { @@ -1976,6 +2032,26 @@ "refs": { } }, + "ListWaitingWorkflowStepsRequest": { + "base": null, + "refs": { + } + }, + "ListWaitingWorkflowStepsResponse": { + "base": null, + "refs": { + } + }, + "ListWorkflowBuildVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListWorkflowBuildVersionsResponse": { + "base": null, + "refs": { + } + }, "ListWorkflowExecutionsRequest": { "base": null, "refs": { @@ -1996,6 +2072,16 @@ "refs": { } }, + "ListWorkflowsRequest": { + "base": null, + "refs": { + } + }, + "ListWorkflowsResponse": { + "base": null, + "refs": { + } + }, "Logging": { "base": "

Logging configuration defines where Image Builder uploads your logs.

", "refs": { @@ -2023,7 +2109,7 @@ "AmiDistributionConfiguration$kmsKeyId": "

The KMS key identifier used to encrypt the distributed image.

", "CancelImageCreationResponse$requestId": "

The request ID that uniquely identifies this request.

", "Component$description": "

The description of the component.

", - "Component$changeDescription": "

The change description of the component.

", + "Component$changeDescription": "

Describes what change has been made in this version of the component, or what makes this version different from other versions of the component.

", "Component$owner": "

The owner of the component.

", "Component$kmsKeyId": "

The KMS key identifier used to encrypt the component.

", "Component$publisher": "

Contains the name of the publisher if this is a third-party component. Otherwise, this property is empty.

", @@ -2044,7 +2130,7 @@ "ContainerRecipeSummary$owner": "

The owner of the container recipe.

", "ContainerRecipeSummary$parentImage": "

The base image for the container recipe.

", "CreateComponentRequest$description": "

Describes the contents of the component.

", - "CreateComponentRequest$changeDescription": "

The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.

", + "CreateComponentRequest$changeDescription": "

The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of the component.

", "CreateComponentRequest$kmsKeyId": "

The ID of the KMS key that is used to encrypt this component.

", "CreateComponentResponse$requestId": "

The request ID that uniquely identifies this request.

", "CreateContainerRecipeRequest$description": "

The description of the container recipe.

", @@ -2067,6 +2153,9 @@ "CreateInfrastructureConfigurationRequest$keyPair": "

The key pair of the infrastructure configuration. You can use this to log on to and debug the instance used to create your image.

", "CreateInfrastructureConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", "CreateLifecyclePolicyRequest$description": "

Optional description for the lifecycle policy.

", + "CreateWorkflowRequest$description": "

Describes the workflow.

", + "CreateWorkflowRequest$changeDescription": "

Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.

", + "CreateWorkflowRequest$kmsKeyId": "

The ID of the KMS key that is used to encrypt this workflow resource.

", "CvssScore$scoringVector": "

The vector string of the CVSS score.

", "CvssScore$version": "

The CVSS version that generated the score.

", "CvssScore$source": "

The source of the CVSS score.

", @@ -2125,7 +2214,7 @@ "ImageSummary$owner": "

The owner of the image.

", "ImageVersion$owner": "

The owner of the image version.

", "ImportComponentRequest$description": "

The description of the component. Describes the contents of the component.

", - "ImportComponentRequest$changeDescription": "

The change description of the component. This description indicates the change that has been made in this version, or what makes this version different from other versions of this component.

", + "ImportComponentRequest$changeDescription": "

The change description of the component. This description indicates the change that has been made in this version, or what makes this version different from other versions of the component.

", "ImportComponentRequest$data": "

The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.

", "ImportComponentRequest$kmsKeyId": "

The ID of the KMS key that should be used to encrypt this component.

", "ImportComponentResponse$requestId": "

The request ID that uniquely identifies this request.

", @@ -2187,6 +2276,7 @@ "S3Logs$s3KeyPrefix": "

The Amazon S3 path to the bucket where the logs are stored.

", "Schedule$scheduleExpression": "

The cron expression determines how often EC2 Image Builder evaluates your pipelineExecutionStartCondition.

For information on how to format a cron expression in Image Builder, see Use cron expressions in EC2 Image Builder.

", "SecurityGroupIds$member": null, + "SendWorkflowStepActionRequest$reason": "

The reason why this action is sent.

", "StartImagePipelineExecutionResponse$requestId": "

The request ID that uniquely identifies this request.

", "StringList$member": null, "TargetContainerRepository$repositoryName": "

The name of the container repository where the output container image is stored. This name is prefixed by the repository location.

", @@ -2206,7 +2296,17 @@ "VulnerablePackage$packageManager": "

The package manager of the vulnerable package.

", "VulnerablePackage$filePath": "

The file path of the vulnerable package.

", "VulnerablePackage$fixedInVersion": "

The version of the package that contains the vulnerability fix.

", - "VulnerablePackage$remediation": "

The code to run in your environment to update packages with a fix available.

" + "VulnerablePackage$remediation": "

The code to run in your environment to update packages with a fix available.

", + "Workflow$description": "

The description of the workflow.

", + "Workflow$changeDescription": "

Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.

", + "Workflow$owner": "

The owner of the workflow resource.

", + "Workflow$kmsKeyId": "

The KMS key identifier used to encrypt the workflow resource.

", + "WorkflowState$reason": "

Describes how or why the workflow changed state.

", + "WorkflowSummary$description": "

Describes the workflow.

", + "WorkflowSummary$changeDescription": "

The change description for the current version of the workflow resource.

", + "WorkflowSummary$owner": "

The owner of the workflow resource.

", + "WorkflowVersion$description": "

Describes the workflow.

", + "WorkflowVersion$owner": "

The owner of the workflow resource.

" } }, "NonEmptyStringList": { @@ -2244,6 +2344,12 @@ "UpdateInfrastructureConfigurationRequest$terminateInstanceOnFailure": "

The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.

" } }, + "OnWorkflowFailure": { + "base": null, + "refs": { + "WorkflowConfiguration$onFailure": "

The action to take if the workflow fails.

" + } + }, "OrganizationArn": { "base": null, "refs": { @@ -2300,7 +2406,8 @@ "ListComponentsRequest$owner": "

Filters results based on the type of owner for the component. By default, this request returns a list of components that your account owns. To see results for other types of owners, you can specify components that Amazon manages, third party components, or components that other accounts have shared with you.

", "ListContainerRecipesRequest$owner": "

Returns container recipes belonging to the specified owner, that have been shared with you. You can omit this field to return container recipes belonging to your account.

", "ListImageRecipesRequest$owner": "

The owner defines which image recipes you want to list. By default, this request will only show image recipes owned by your account. You can use this field to specify if you want to view image recipes owned by yourself, by Amazon, or those image recipes that have been shared with you by other customers.

", - "ListImagesRequest$owner": "

The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers.

" + "ListImagesRequest$owner": "

The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers.

", + "ListWorkflowsRequest$owner": "

Used to get a list of workflow build version filtered by the identity of the creator.

" } }, "PackageArchitecture": { @@ -2354,10 +2461,24 @@ "ListLifecycleExecutionsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", "ListLifecyclePoliciesRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", "ListLifecyclePoliciesResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", + "ListWaitingWorkflowStepsRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", + "ListWaitingWorkflowStepsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", + "ListWorkflowBuildVersionsRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", + "ListWorkflowBuildVersionsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", "ListWorkflowExecutionsRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", "ListWorkflowExecutionsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", "ListWorkflowStepExecutionsRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", - "ListWorkflowStepExecutionsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

" + "ListWorkflowStepExecutionsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

", + "ListWorkflowsRequest$nextToken": "

A token to specify where to start paginating. This is the nextToken from a previously truncated response.

", + "ListWorkflowsResponse$nextToken": "

The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

" + } + }, + "ParallelGroup": { + "base": null, + "refs": { + "GetWorkflowExecutionResponse$parallelGroup": "

Test workflows are defined within named runtime groups. The parallel group is a named group that contains one or more test workflows.

", + "WorkflowConfiguration$parallelGroup": "

Test workflows are defined within named runtime groups called parallel groups. The parallel group is the named group that contains this test workflow. Test workflows within a parallel group can run at the same time. Image Builder starts up to five test workflows in the group at the same time, and starts additional workflows as others complete, until all workflows in the group have completed. This field only applies for test workflows.

", + "WorkflowExecutionMetadata$parallelGroup": "

The name of the test group that included the test workflow resource at runtime.

" } }, "PipelineExecutionStartCondition": { @@ -2482,6 +2603,7 @@ "CreateImageRecipeRequest$name": "

The name of the image recipe.

", "CreateInfrastructureConfigurationRequest$name": "

The name of the infrastructure configuration.

", "CreateLifecyclePolicyRequest$name": "

The name of the lifecycle policy to create.

", + "CreateWorkflowRequest$name": "

The name of the workflow to create.

", "DistributionConfiguration$name": "

The name of the distribution configuration.

", "DistributionConfigurationSummary$name": "

The name of the distribution configuration.

", "Image$name": "

The name of the image.

", @@ -2496,7 +2618,10 @@ "InfrastructureConfigurationSummary$name": "

The name of the infrastructure configuration.

", "LifecyclePolicy$name": "

The name of the lifecycle policy.

", "LifecyclePolicyResourceSelectionRecipe$name": "

The name of an Image Builder recipe that the lifecycle policy uses for resource selection.

", - "LifecyclePolicySummary$name": "

The name of the lifecycle policy.

" + "LifecyclePolicySummary$name": "

The name of the lifecycle policy.

", + "Workflow$name": "

The name of the workflow resource.

", + "WorkflowSummary$name": "

The name of the workflow.

", + "WorkflowVersion$name": "

The name of the workflow.

" } }, "ResourceNotFoundException": { @@ -2568,18 +2693,26 @@ "ListLifecycleExecutionResourcesRequest$maxResults": "

The maximum items to return in a request.

", "ListLifecycleExecutionsRequest$maxResults": "

The maximum items to return in a request.

", "ListLifecyclePoliciesRequest$maxResults": "

The maximum items to return in a request.

", + "ListWaitingWorkflowStepsRequest$maxResults": "

The maximum items to return in a request.

", + "ListWorkflowBuildVersionsRequest$maxResults": "

The maximum items to return in a request.

", "ListWorkflowExecutionsRequest$maxResults": "

The maximum items to return in a request.

", - "ListWorkflowStepExecutionsRequest$maxResults": "

The maximum items to return in a request.

" + "ListWorkflowStepExecutionsRequest$maxResults": "

The maximum items to return in a request.

", + "ListWorkflowsRequest$maxResults": "

The maximum items to return in a request.

" } }, "RoleNameOrArn": { "base": null, "refs": { - "CreateLifecyclePolicyRequest$executionRole": "

The role name or Amazon Resource Name (ARN) for the IAM role that grants Image Builder access to run lifecycle actions.

", - "LifecyclePolicy$executionRole": "

The name of the IAM role that Image Builder uses to run the lifecycle policy. This is a custom role that you create.

", - "LifecyclePolicySummary$executionRole": "

The name of the IAM role that Image Builder uses to run the lifecycle policy.

", + "CreateImagePipelineRequest$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

", + "CreateImageRequest$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

", + "CreateLifecyclePolicyRequest$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.

", + "Image$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

", + "ImagePipeline$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

", + "LifecyclePolicy$executionRole": "

The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy. This is a custom role that you create.

", + "LifecyclePolicySummary$executionRole": "

The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy.

", "StartResourceStateUpdateRequest$executionRole": "

The name or Amazon Resource Name (ARN) of the IAM role that’s used to update image state.

", - "UpdateLifecyclePolicyRequest$executionRole": "

The name of the IAM role that Image Builder should use to update the lifecycle policy.

" + "UpdateImagePipelineRequest$executionRole": "

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.

", + "UpdateLifecyclePolicyRequest$executionRole": "

The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to update the lifecycle policy.

" } }, "S3ExportConfiguration": { @@ -2595,7 +2728,7 @@ } }, "Schedule": { - "base": "

A schedule configures how often and when a pipeline will automatically create a new image.

", + "base": "

A schedule configures when and how often a pipeline will automatically create a new image.

", "refs": { "CreateImagePipelineRequest$schedule": "

The schedule of the image pipeline.

", "ImagePipeline$schedule": "

The schedule of the image pipeline.

", @@ -2610,6 +2743,16 @@ "UpdateInfrastructureConfigurationRequest$securityGroupIds": "

The security group IDs to associate with the instance used to customize your Amazon EC2 AMI.

" } }, + "SendWorkflowStepActionRequest": { + "base": null, + "refs": { + } + }, + "SendWorkflowStepActionResponse": { + "base": null, + "refs": { + } + }, "ServiceException": { "base": "

This exception is thrown when the service encounters an unrecoverable exception.

", "refs": { @@ -2684,7 +2827,7 @@ "EcrConfiguration$containerTags": "

Tags for Image Builder to apply to the output container image that &INS; scans. Tags can help you identify and manage your scanned images.

", "LaunchPermissionConfiguration$userGroups": "

The name of the group.

", "LifecycleExecutionResource$imageUris": "

For an impacted container image, this identifies a list of URIs for associated container images distributed to ECR repositories.

", - "LifecyclePolicyDetailExclusionRulesAmis$regions": "

Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.

" + "LifecyclePolicyDetailExclusionRulesAmis$regions": "

Configures Amazon Web Services Regions that are excluded from the lifecycle action.

" } }, "SystemsManagerAgent": { @@ -2723,6 +2866,7 @@ "CreateImageRequest$tags": "

The tags of the image.

", "CreateInfrastructureConfigurationRequest$tags": "

The tags of the infrastructure configuration.

", "CreateLifecyclePolicyRequest$tags": "

Tags to apply to the lifecycle policy resource.

", + "CreateWorkflowRequest$tags": "

Tags that apply to the workflow resource.

", "DistributionConfiguration$tags": "

The tags of the distribution configuration.

", "DistributionConfigurationSummary$tags": "

The tags associated with the distribution configuration.

", "Image$tags": "

The tags that apply to this image.

", @@ -2735,12 +2879,14 @@ "InfrastructureConfiguration$tags": "

The tags of the infrastructure configuration.

", "InfrastructureConfigurationSummary$tags": "

The tags of the infrastructure configuration.

", "LifecyclePolicy$tags": "

To help manage your lifecycle policy resources, you can assign your own metadata to each resource in the form of tags. Each tag consists of a key and an optional value, both of which you define.

", - "LifecyclePolicyDetailExclusionRules$tagMap": "

Contains a list of tags that Image Builder uses to skip lifecycle actions for AMIs that have them.

", + "LifecyclePolicyDetailExclusionRules$tagMap": "

Contains a list of tags that Image Builder uses to skip lifecycle actions for resources that have them.

", "LifecyclePolicyDetailExclusionRulesAmis$tagMap": "

Lists tags that should be excluded from lifecycle actions for the AMIs that have them.

", "LifecyclePolicyResourceSelection$tagMap": "

A list of tags that are used as selection criteria for the resources that the lifecycle policy applies to.

", "LifecyclePolicySummary$tags": "

To help manage your lifecycle policy resources, you can assign your own metadata to each resource in the form of tags. Each tag consists of a key and an optional value, both of which you define.

", "ListTagsForResourceResponse$tags": "

The tags for the specified resource.

", - "TagResourceRequest$tags": "

The tags to apply to the resource.

" + "TagResourceRequest$tags": "

The tags to apply to the resource.

", + "Workflow$tags": "

The tags that apply to the workflow resource

", + "WorkflowSummary$tags": "

Contains a list of tags that are defined for the workflow.

" } }, "TagResourceRequest": { @@ -2835,6 +2981,7 @@ "refs": { "CreateComponentRequest$uri": "

The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.

Alternatively, you can specify the YAML document inline, using the component data property. You cannot specify both properties.

", "CreateContainerRecipeRequest$dockerfileTemplateUri": "

The Amazon S3 URI for the Dockerfile that will be used to build your container image.

", + "CreateWorkflowRequest$uri": "

The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.

Alternatively, you can specify the YAML document inline, using the component data property. You cannot specify both properties.

", "ImportComponentRequest$uri": "

The uri of the component. Must be an Amazon S3 URL and the requester must have permission to access the Amazon S3 bucket. If you use Amazon S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.

" } }, @@ -2854,13 +3001,17 @@ "CreateComponentRequest$semanticVersion": "

The semantic version of the component. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

", "CreateContainerRecipeRequest$semanticVersion": "

The semantic version of the container recipe. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

", "CreateImageRecipeRequest$semanticVersion": "

The semantic version of the image recipe. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

", + "CreateWorkflowRequest$semanticVersion": "

The semantic version of this workflow resource. The semantic version syntax adheres to the following rules.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

", "Image$version": "

The semantic version of the image.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

Filtering: With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.

", "ImageRecipe$version": "

The version of the image recipe.

", "ImageSummary$version": "

The version of the image.

", "ImageVersion$version": "

Details for a specific version of an Image Builder image. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

Filtering: With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.

", "ImportComponentRequest$semanticVersion": "

The semantic version of the component. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Filtering: With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.

", "ImportVmImageRequest$semanticVersion": "

The semantic version to attach to the base image that was created during the import process. This version follows the semantic version syntax.

The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

", - "LifecyclePolicyResourceSelectionRecipe$semanticVersion": "

The version of the Image Builder recipe specified by the name field.

" + "LifecyclePolicyResourceSelectionRecipe$semanticVersion": "

The version of the Image Builder recipe specified by the name field.

", + "Workflow$version": "

The workflow resource version. Workflow resources are immutable. To make a change, you can clone a workflow or create a new version.

", + "WorkflowSummary$version": "

The version of the workflow.

", + "WorkflowVersion$version": "

The semantic version of the workflow resource. The format includes three nodes: <major>.<minor>.<patch>.

" } }, "VulnerabilityId": { @@ -2894,13 +3045,46 @@ "PackageVulnerabilityDetails$vulnerablePackages": "

The packages that this vulnerability impacts.

" } }, + "Workflow": { + "base": "

Defines a process that Image Builder uses to build and test images during the image creation process.

", + "refs": { + "GetWorkflowResponse$workflow": "

The workflow resource specified in the request.

" + } + }, "WorkflowBuildVersionArn": { "base": null, "refs": { + "CreateWorkflowResponse$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the workflow resource that the request created.

", + "DeleteWorkflowRequest$workflowBuildVersionArn": "

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

", + "DeleteWorkflowResponse$workflowBuildVersionArn": "

The ARN of the workflow resource that this request deleted.

", "GetWorkflowExecutionResponse$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the build version for the Image Builder workflow resource that defines the specified runtime instance of the workflow.

", "GetWorkflowStepExecutionResponse$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the build version for the Image Builder workflow resource that defines this workflow step.

", "ListWorkflowStepExecutionsResponse$workflowBuildVersionArn": "

The build version ARN for the Image Builder workflow resource that defines the steps for this runtime instance of the workflow.

", - "WorkflowExecutionMetadata$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the workflow resource build version that ran.

" + "Workflow$arn": "

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

", + "WorkflowExecutionMetadata$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the workflow resource build version that ran.

", + "WorkflowStepExecution$workflowBuildVersionArn": "

The ARN of the workflow resource that ran.

" + } + }, + "WorkflowConfiguration": { + "base": "

Contains control settings and configurable inputs for a workflow resource.

", + "refs": { + "WorkflowConfigurationList$member": null + } + }, + "WorkflowConfigurationList": { + "base": null, + "refs": { + "CreateImagePipelineRequest$workflows": "

Contains an array of workflow configuration objects.

", + "CreateImageRequest$workflows": "

Contains an array of workflow configuration objects.

", + "Image$workflows": "

Contains the build and test workflows that are associated with the image.

", + "ImagePipeline$workflows": "

Contains the workflows that run for the image pipeline.

", + "UpdateImagePipelineRequest$workflows": "

Contains the workflows to run for the pipeline.

" + } + }, + "WorkflowData": { + "base": null, + "refs": { + "Workflow$data": "

Contains the YAML document content for the workflow.

" } }, "WorkflowExecutionId": { @@ -2911,7 +3095,8 @@ "GetWorkflowStepExecutionResponse$workflowExecutionId": "

The unique identifier that Image Builder assigned to keep track of runtime details when it ran the workflow.

", "ListWorkflowStepExecutionsRequest$workflowExecutionId": "

The unique identifier that Image Builder assigned to keep track of runtime details when it ran the workflow.

", "ListWorkflowStepExecutionsResponse$workflowExecutionId": "

The unique identifier that Image Builder assigned to keep track of runtime details when it ran the workflow.

", - "WorkflowExecutionMetadata$workflowExecutionId": "

Unique identifier that Image Builder assigns to keep track of runtime resources each time it runs a workflow.

" + "WorkflowExecutionMetadata$workflowExecutionId": "

Unique identifier that Image Builder assigns to keep track of runtime resources each time it runs a workflow.

", + "WorkflowStepExecution$workflowExecutionId": "

Uniquely identifies the runtime instance of the workflow that contains the workflow step that ran for the associated image build version.

" } }, "WorkflowExecutionMessage": { @@ -2940,13 +3125,95 @@ "ListWorkflowExecutionsResponse$workflowExecutions": "

Contains an array of runtime details that represents each time a workflow ran for the requested image build version.

" } }, + "WorkflowNameArn": { + "base": null, + "refs": { + "WorkflowSummary$arn": "

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

" + } + }, + "WorkflowParameter": { + "base": "

Contains a key/value pair that sets the named workflow parameter.

", + "refs": { + "WorkflowParameterList$member": null + } + }, + "WorkflowParameterDescription": { + "base": null, + "refs": { + "WorkflowParameterDetail$description": "

Describes this parameter.

" + } + }, + "WorkflowParameterDetail": { + "base": "

Defines a parameter that's used to provide configuration details for the workflow.

", + "refs": { + "WorkflowParameterDetailList$member": null + } + }, + "WorkflowParameterDetailList": { + "base": null, + "refs": { + "Workflow$parameters": "

An array of input parameters that that the image workflow uses to control actions or configure settings.

" + } + }, + "WorkflowParameterList": { + "base": null, + "refs": { + "WorkflowConfiguration$parameters": "

Contains parameter values for each of the parameters that the workflow document defined for the workflow resource.

" + } + }, + "WorkflowParameterName": { + "base": null, + "refs": { + "WorkflowParameter$name": "

The name of the workflow parameter to set.

", + "WorkflowParameterDetail$name": "

The name of this input parameter.

" + } + }, + "WorkflowParameterType": { + "base": null, + "refs": { + "WorkflowParameterDetail$type": "

The type of input this parameter provides. The currently supported value is \"string\".

" + } + }, + "WorkflowParameterValue": { + "base": null, + "refs": { + "WorkflowParameterValueList$member": null + } + }, + "WorkflowParameterValueList": { + "base": null, + "refs": { + "WorkflowParameter$value": "

Sets the value for the named workflow parameter.

", + "WorkflowParameterDetail$defaultValue": "

The default value of this parameter if no input is provided.

" + } + }, + "WorkflowState": { + "base": "

A group of fields that describe the current status of workflow.

", + "refs": { + "Workflow$state": "

Describes the current status of the workflow and the reason for that status.

", + "WorkflowSummary$state": "

Describes the current state of the workflow resource.

" + } + }, + "WorkflowStatus": { + "base": null, + "refs": { + "WorkflowState$status": "

The current state of the workflow.

" + } + }, "WorkflowStepAction": { "base": null, "refs": { "GetWorkflowStepExecutionResponse$action": "

The name of the action that the specified step performs.

", + "WorkflowStepExecution$action": "

The name of the step action.

", "WorkflowStepMetadata$action": "

The step action name.

" } }, + "WorkflowStepActionType": { + "base": null, + "refs": { + "SendWorkflowStepActionRequest$action": "

The action for the image creation process to take while a workflow WaitForAction step waits for an asynchronous action to complete.

" + } + }, "WorkflowStepCount": { "base": null, "refs": { @@ -2967,14 +3234,29 @@ "WorkflowStepMetadata$description": "

Description of the workflow step.

" } }, + "WorkflowStepExecution": { + "base": "

Contains runtime details for an instance of a workflow that ran for the associated image build version.

", + "refs": { + "WorkflowStepExecutionList$member": null + } + }, "WorkflowStepExecutionId": { "base": null, "refs": { "GetWorkflowStepExecutionRequest$stepExecutionId": "

Use the unique identifier for a specific runtime instance of the workflow step to get runtime details for that step.

", "GetWorkflowStepExecutionResponse$stepExecutionId": "

The unique identifier for the runtime version of the workflow step that you specified in the request.

", + "SendWorkflowStepActionRequest$stepExecutionId": "

Uniquely identifies the workflow step that sent the step action.

", + "SendWorkflowStepActionResponse$stepExecutionId": "

The workflow step that sent the step action.

", + "WorkflowStepExecution$stepExecutionId": "

Uniquely identifies the workflow step that ran for the associated image build version.

", "WorkflowStepMetadata$stepExecutionId": "

A unique identifier for the workflow step, assigned at runtime.

" } }, + "WorkflowStepExecutionList": { + "base": null, + "refs": { + "ListWaitingWorkflowStepsResponse$steps": "

An array of the workflow steps that are waiting for action in your Amazon Web Services account.

" + } + }, "WorkflowStepExecutionRollbackStatus": { "base": null, "refs": { @@ -3019,6 +3301,7 @@ "base": null, "refs": { "GetWorkflowStepExecutionResponse$name": "

The name of the specified runtime instance of the workflow step.

", + "WorkflowStepExecution$name": "

The name of the workflow step.

", "WorkflowStepMetadata$name": "

The name of the workflow step.

" } }, @@ -3035,11 +3318,58 @@ "GetWorkflowStepExecutionResponse$timeoutSeconds": "

The maximum duration in seconds for this step to complete its action.

" } }, + "WorkflowSummary": { + "base": "

Contains metadata about the workflow resource.

", + "refs": { + "WorkflowSummaryList$member": null + } + }, + "WorkflowSummaryList": { + "base": null, + "refs": { + "ListWorkflowBuildVersionsResponse$workflowSummaryList": "

A list that contains metadata for the workflow builds that have run for the workflow resource specified in the request.

" + } + }, "WorkflowType": { "base": null, "refs": { + "CreateWorkflowRequest$type": "

The phase in the image build process for which the workflow resource is responsible.

", "GetWorkflowExecutionResponse$type": "

The type of workflow that Image Builder ran for the specified runtime instance of the workflow.

", - "WorkflowExecutionMetadata$type": "

Indicates what type of workflow that Image Builder ran for this runtime instance of the workflow.

" + "Workflow$type": "

Specifies the image creation stage that the workflow applies to. Image Builder currently supports build and test workflows.

", + "WorkflowExecutionMetadata$type": "

Indicates what type of workflow that Image Builder ran for this runtime instance of the workflow.

", + "WorkflowSummary$type": "

The image creation stage that this workflow applies to. Image Builder currently supports build and test stage workflows.

", + "WorkflowVersion$type": "

The image creation stage that this workflow applies to. Image Builder currently supports build and test stage workflows.

" + } + }, + "WorkflowVersion": { + "base": "

Contains details about this version of the workflow.

", + "refs": { + "WorkflowVersionList$member": null + } + }, + "WorkflowVersionArn": { + "base": null, + "refs": { + "WorkflowVersion$arn": "

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

" + } + }, + "WorkflowVersionArnOrBuildVersionArn": { + "base": null, + "refs": { + "GetWorkflowRequest$workflowBuildVersionArn": "

The Amazon Resource Name (ARN) of the workflow resource that you want to get.

", + "WorkflowConfiguration$workflowArn": "

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

" + } + }, + "WorkflowVersionList": { + "base": null, + "refs": { + "ListWorkflowsResponse$workflowVersionList": "

A list of workflow build versions that match the request criteria.

" + } + }, + "WorkflowWildcardVersionArn": { + "base": null, + "refs": { + "ListWorkflowBuildVersionsRequest$workflowVersionArn": "

The Amazon Resource Name (ARN) of the workflow resource for which to get a list of build versions.

" } } } diff --git a/models/apis/imagebuilder/2019-12-02/paginators-1.json b/models/apis/imagebuilder/2019-12-02/paginators-1.json index 15c8cb41edf..f259294ddcf 100644 --- a/models/apis/imagebuilder/2019-12-02/paginators-1.json +++ b/models/apis/imagebuilder/2019-12-02/paginators-1.json @@ -95,6 +95,18 @@ "limit_key": "maxResults", "result_key": "lifecyclePolicySummaryList" }, + "ListWaitingWorkflowSteps": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "steps" + }, + "ListWorkflowBuildVersions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "workflowSummaryList" + }, "ListWorkflowExecutions": { "input_token": "nextToken", "output_token": "nextToken", @@ -106,6 +118,12 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "steps" + }, + "ListWorkflows": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "workflowVersionList" } } } diff --git a/models/apis/location/2020-11-19/api-2.json b/models/apis/location/2020-11-19/api-2.json index 170a269d2e4..90ef069c3f7 100644 --- a/models/apis/location/2020-11-19/api-2.json +++ b/models/apis/location/2020-11-19/api-2.json @@ -1613,6 +1613,7 @@ "DestinationPosition" ], "members":{ + "ArrivalTime":{"shape":"Timestamp"}, "CalculatorName":{ "shape":"ResourceName", "location":"uri", @@ -1630,6 +1631,7 @@ "location":"querystring", "locationName":"key" }, + "OptimizeFor":{"shape":"OptimizationMode"}, "TravelMode":{"shape":"TravelMode"}, "TruckModeOptions":{"shape":"CalculateRouteTruckModeOptions"}, "WaypointPositions":{"shape":"CalculateRouteRequestWaypointPositionsList"} @@ -3241,6 +3243,13 @@ "min":1, "pattern":"^[-._\\w]+$" }, + "OptimizationMode":{ + "type":"string", + "enum":[ + "FastestRoute", + "ShortestRoute" + ] + }, "Place":{ "type":"structure", "required":["Geometry"], @@ -3256,6 +3265,7 @@ "PostalCode":{"shape":"String"}, "Region":{"shape":"String"}, "Street":{"shape":"String"}, + "SubMunicipality":{"shape":"String"}, "SubRegion":{"shape":"String"}, "SupplementalCategories":{"shape":"PlaceSupplementalCategoryList"}, "TimeZone":{"shape":"TimeZone"}, diff --git a/models/apis/location/2020-11-19/docs-2.json b/models/apis/location/2020-11-19/docs-2.json index 59ffa6d2d70..5c5937b9e4d 100644 --- a/models/apis/location/2020-11-19/docs-2.json +++ b/models/apis/location/2020-11-19/docs-2.json @@ -1328,6 +1328,12 @@ "MapConfiguration$Style": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

Valid HERE Technologies map styles:

Valid GrabMaps map styles:

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

" } }, + "OptimizationMode": { + "base": null, + "refs": { + "CalculateRouteRequest$OptimizeFor": "

Specifies the distance to optimize for when calculating a route.

" + } + }, "Place": { "base": "

Contains details about addresses or points of interest that match the search criteria.

Not all details are included with all responses. Some details may only be returned by specific data partners.

", "refs": { @@ -1869,6 +1875,7 @@ "Place$PostalCode": "

A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

", "Place$Region": "

A name for an area or geographical division, such as a province or state name. For example, British Columbia.

", "Place$Street": "

The name for a street or a road to identify a location. For example, Main Street.

", + "Place$SubMunicipality": "

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

", "Place$SubRegion": "

A county, or an area that's part of a larger region. For example, Metro Vancouver.

", "Place$UnitNumber": "

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

", "Place$UnitType": "

For addresses with a UnitNumber, the type of unit. For example, Apartment.

Returned only for a place index that uses Esri as a data provider.

", @@ -1955,7 +1962,8 @@ "BatchPutGeofenceSuccess$UpdateTime": "

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "BatchUpdateDevicePositionError$SampleTime": "

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "CalculateRouteMatrixRequest$DepartureTime": "

Specifies the desired time of departure. Uses the given time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Setting a departure time in the past returns a 400 ValidationException error.

", - "CalculateRouteRequest$DepartureTime": "

Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Setting a departure time in the past returns a 400 ValidationException error.

", + "CalculateRouteRequest$ArrivalTime": "

Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

ArrivalTime is not supported Esri.

", + "CalculateRouteRequest$DepartureTime": "

Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

", "CreateGeofenceCollectionResponse$CreateTime": "

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "CreateKeyRequest$ExpireTime": "

The optional timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. One of NoExpiry or ExpireTime must be set.

", "CreateKeyResponse$CreateTime": "

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", @@ -2040,7 +2048,7 @@ "TrackingFilterGeometry": { "base": "

The geomerty used to filter device positions.

", "refs": { - "ListDevicePositionsRequest$FilterGeometry": "

The geomerty used to filter device positions.

" + "ListDevicePositionsRequest$FilterGeometry": "

The geometry used to filter device positions.

" } }, "TravelMode": { diff --git a/models/apis/logs/2014-03-28/api-2.json b/models/apis/logs/2014-03-28/api-2.json index 9429c4d7256..26103598216 100644 --- a/models/apis/logs/2014-03-28/api-2.json +++ b/models/apis/logs/2014-03-28/api-2.json @@ -950,6 +950,23 @@ {"shape":"ServiceUnavailableException"} ] }, + "StartLiveTail":{ + "name":"StartLiveTail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartLiveTailRequest"}, + "output":{"shape":"StartLiveTailResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidOperationException"} + ], + "endpoint":{"hostPrefix":"streaming-"} + }, "StartQuery":{ "name":"StartQuery", "http":{ @@ -2197,6 +2214,7 @@ }, "exception":true }, + "IsSampled":{"type":"boolean"}, "KmsKeyId":{ "type":"string", "max":256 @@ -2278,6 +2296,46 @@ "deprecated":true, "deprecatedMessage":"Please use the generic tagging API model ListTagsForResourceRequest and ListTagsForResourceResponse" }, + "LiveTailSessionLogEvent":{ + "type":"structure", + "members":{ + "logStreamName":{"shape":"LogStreamName"}, + "logGroupIdentifier":{"shape":"LogGroupIdentifier"}, + "message":{"shape":"EventMessage"}, + "timestamp":{"shape":"Timestamp"}, + "ingestionTime":{"shape":"Timestamp"} + } + }, + "LiveTailSessionMetadata":{ + "type":"structure", + "members":{ + "sampled":{"shape":"IsSampled"} + } + }, + "LiveTailSessionResults":{ + "type":"list", + "member":{"shape":"LiveTailSessionLogEvent"} + }, + "LiveTailSessionStart":{ + "type":"structure", + "members":{ + "requestId":{"shape":"RequestId"}, + "sessionId":{"shape":"SessionId"}, + "logGroupIdentifiers":{"shape":"StartLiveTailLogGroupIdentifiers"}, + "logStreamNames":{"shape":"InputLogStreamNames"}, + "logStreamNamePrefixes":{"shape":"InputLogStreamNames"}, + "logEventFilterPattern":{"shape":"FilterPattern"} + }, + "event":true + }, + "LiveTailSessionUpdate":{ + "type":"structure", + "members":{ + "sessionMetadata":{"shape":"LiveTailSessionMetadata"}, + "sessionResults":{"shape":"LiveTailSessionResults"} + }, + "event":true + }, "LogEvent":{ "type":"string", "min":1 @@ -2887,6 +2945,11 @@ "expiredLogEventEndIndex":{"shape":"LogEventIndex"} } }, + "RequestId":{ + "type":"string", + "max":256, + "min":0 + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -2974,6 +3037,25 @@ "exception":true, "fault":true }, + "SessionId":{ + "type":"string", + "max":256, + "min":0 + }, + "SessionStreamingException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "exception":true + }, + "SessionTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "exception":true + }, "StandardUnit":{ "type":"string", "enum":[ @@ -3007,6 +3089,38 @@ ] }, "StartFromHead":{"type":"boolean"}, + "StartLiveTailLogGroupIdentifiers":{ + "type":"list", + "member":{"shape":"LogGroupIdentifier"}, + "max":10, + "min":1 + }, + "StartLiveTailRequest":{ + "type":"structure", + "required":["logGroupIdentifiers"], + "members":{ + "logGroupIdentifiers":{"shape":"StartLiveTailLogGroupIdentifiers"}, + "logStreamNames":{"shape":"InputLogStreamNames"}, + "logStreamNamePrefixes":{"shape":"InputLogStreamNames"}, + "logEventFilterPattern":{"shape":"FilterPattern"} + } + }, + "StartLiveTailResponse":{ + "type":"structure", + "members":{ + "responseStream":{"shape":"StartLiveTailResponseStream"} + } + }, + "StartLiveTailResponseStream":{ + "type":"structure", + "members":{ + "sessionStart":{"shape":"LiveTailSessionStart"}, + "sessionUpdate":{"shape":"LiveTailSessionUpdate"}, + "SessionTimeoutException":{"shape":"SessionTimeoutException"}, + "SessionStreamingException":{"shape":"SessionStreamingException"} + }, + "eventstream":true + }, "StartQueryRequest":{ "type":"structure", "required":[ diff --git a/models/apis/logs/2014-03-28/docs-2.json b/models/apis/logs/2014-03-28/docs-2.json index 226e97dd5c5..1d4c41865cd 100644 --- a/models/apis/logs/2014-03-28/docs-2.json +++ b/models/apis/logs/2014-03-28/docs-2.json @@ -4,7 +4,7 @@ "operations": { "AssociateKmsKey": "

Associates the specified KMS key with either one log group in the account, or with all stored CloudWatch Logs query insights results in the account.

When you use AssociateKmsKey, you specify either the logGroupName parameter or the resourceIdentifier parameter. You can't specify both of those parameters in the same operation.

If you delete the key that is used to encrypt log events or log group query results, then all the associated stored log events or query results that were encrypted with that key will be unencryptable and unusable.

CloudWatch Logs supports only symmetric KMS keys. Do not use an associate an asymmetric KMS key with your log group or query results. For more information, see Using Symmetric and Asymmetric Keys.

It can take up to 5 minutes for this operation to take effect.

If you attempt to associate a KMS key with a log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

", "CancelExportTask": "

Cancels the specified export task.

The task must be in the PENDING or RUNNING state.

", - "CreateDelivery": "

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

", + "CreateDelivery": "

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

", "CreateExportTask": "

Creates an export task so that you can efficiently export data from a log group to an Amazon S3 bucket. When you perform a CreateExportTask operation, you must use credentials that have permission to write to the S3 bucket that you specify as the destination.

Exporting log data to S3 buckets that are encrypted by KMS is supported. Exporting log data to Amazon S3 buckets that have S3 Object Lock enabled with a retention period is also supported.

Exporting to S3 buckets that are encrypted with AES-256 is supported.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate log data for each export task, specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

Time-based sorting on chunks of log data inside an exported file is not guaranteed. You can sort the exported log field data by using Linux utilities.

", "CreateLogAnomalyDetector": "

Creates an anomaly detector that regularly scans one or more log groups and look for patterns and anomalies in the logs.

An anomaly detector can help surface issues by automatically discovering anomalies in your log event traffic. An anomaly detector uses machine learning algorithms to scan log events and find patterns. A pattern is a shared text structure that recurs among your log fields. Patterns provide a useful tool for analyzing large sets of logs because a large number of log events can often be compressed into a few patterns.

The anomaly detector uses pattern recognition to find anomalies, which are unusual log events. It uses the evaluationFrequency to compare current log events and patterns with trained baselines.

Fields within a pattern are called tokens. Fields that vary within a pattern, such as a request ID or timestamp, are referred to as dynamic tokens and represented by <*>.

The following is an example of a pattern:

[INFO] Request time: <*> ms

This pattern represents log events like [INFO] Request time: 327 ms and other similar log events that differ only by the number, in this csse 327. When the pattern is displayed, the different numbers are replaced by <*>

Any parts of log events that are masked as sensitive data are not scanned for anomalies. For more information about masking sensitive data, see Help protect sensitive log data with masking.

", "CreateLogGroup": "

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

", @@ -34,7 +34,7 @@ "DescribeLogStreams": "

Lists the log streams for the specified log group. You can list all the log streams or filter the results by prefix. You can also control how the results are ordered.

You can specify the log group to search by using either logGroupIdentifier or logGroupName. You must include one of these two parameters, but you can't include both.

This operation has a limit of five transactions per second, after which transactions are throttled.

If you are using CloudWatch cross-account observability, you can use this operation in a monitoring account and view data from the linked source accounts. For more information, see CloudWatch cross-account observability.

", "DescribeMetricFilters": "

Lists the specified metric filters. You can list all of the metric filters or filter the results by log name, prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name.

", "DescribeQueries": "

Returns a list of CloudWatch Logs Insights queries that are scheduled, running, or have been run recently in this account. You can request all queries or limit it to queries of a specific log group or queries with a certain status.

", - "DescribeQueryDefinitions": "

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

", + "DescribeQueryDefinitions": "

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions. You can retrieve query definitions from the current account or from a source account that is linked to the current account.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

", "DescribeResourcePolicies": "

Lists the resource policies in this account.

", "DescribeSubscriptionFilters": "

Lists the subscription filters for the specified log group. You can list all the subscription filters or filter the results by prefix. The results are ASCII-sorted by filter name.

", "DisassociateKmsKey": "

Disassociates the specified KMS key from the specified log group or from all CloudWatch Logs Insights query results in the account.

When you use DisassociateKmsKey, you specify either the logGroupName parameter or the resourceIdentifier parameter. You can't specify both of those parameters in the same operation.

It can take up to 5 minutes for this operation to take effect.

", @@ -55,9 +55,9 @@ "ListTagsLogGroup": "

The ListTagsLogGroup operation is on the path to deprecation. We recommend that you use ListTagsForResource instead.

Lists the tags for the specified log group.

", "PutAccountPolicy": "

Creates an account-level data protection policy that applies to all log groups in the account. A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can also use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

", "PutDataProtectionPolicy": "

Creates a data protection policy for the specified log group. A data protection policy can help safeguard sensitive data that's ingested by the log group by auditing and masking the sensitive log data.

Sensitive data is detected and masked when it is ingested into the log group. When you set a data protection policy, log events ingested into the log group before that time are not masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

The PutDataProtectionPolicy operation applies to only the specified log group. You can also use PutAccountPolicy to create an account-level data protection policy that applies to all log groups in the account, including both existing log groups and log groups that are created level. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

", - "PutDeliveryDestination": "

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

", + "PutDeliveryDestination": "

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

", "PutDeliveryDestinationPolicy": "

Creates and assigns an IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account. To configure the delivery of logs from an Amazon Web Services service in another account to a logs delivery destination in the current account, you must do the following:

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

The contents of the policy must include two statements. One statement enables general logs delivery, and the other allows delivery to the chosen destination. See the examples for the needed policies.

", - "PutDeliverySource": "

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

", + "PutDeliverySource": "

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

", "PutDestination": "

Creates or updates a destination. This operation is used only to create destinations for cross-account subscriptions.

A destination encapsulates a physical resource (such as an Amazon Kinesis stream). With a destination, you can subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents.

Through an access policy, a destination controls what is written to it. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

To perform a PutDestination operation, you must also have the iam:PassRole permission.

", "PutDestinationPolicy": "

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

", "PutLogEvents": "

Uploads a batch of log events to the specified log stream.

The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

The batch of events must satisfy the following constraints:

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

", @@ -66,6 +66,7 @@ "PutResourcePolicy": "

Creates or updates a resource policy allowing other Amazon Web Services services to put log events to this account, such as Amazon Route 53. An account can have up to 10 resource policies per Amazon Web Services Region.

", "PutRetentionPolicy": "

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

", "PutSubscriptionFilter": "

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

", + "StartLiveTail": "

Starts a Live Tail streaming session for one or more log groups. A Live Tail session returns a stream of log events that have been recently ingested in the log groups. For more information, see Use Live Tail to view logs in near real time.

The response to this operation is a response stream, over which the server sends live log events and the client receives them.

The following objects are sent over the stream:

You can end a session before it times out by closing the session stream or by closing the client that is receiving the stream. The session also ends if the established connection between the client and the server breaks.

", "StartQuery": "

Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query and the query string to use.

For more information, see CloudWatch Logs Insights Query Syntax.

After you run a query using StartQuery, the query results are stored by CloudWatch Logs. You can use GetQueryResults to retrieve the results of a query, using the queryId that StartQuery returns.

If you have associated a KMS key with the query results in this account, then StartQuery uses that key to encrypt the results when it stores them. If no key is associated with query results, the query results are encrypted with the default CloudWatch Logs encryption method.

Queries time out after 60 minutes of runtime. If your queries are timing out, reduce the time range being searched or partition your query into a number of queries.

If you are using CloudWatch cross-account observability, you can use this operation in a monitoring account to start a query in a linked source account. For more information, see CloudWatch cross-account observability. For a cross-account StartQuery operation, the query definition must be defined in the monitoring account.

You can have up to 30 concurrent CloudWatch Logs insights queries, including queries that have been added to dashboards.

", "StopQuery": "

Stops a CloudWatch Logs Insights query that is in progress. If the query has already ended, the operation returns an error indicating that the specified query is not running.

", "TagLogGroup": "

The TagLogGroup operation is on the path to deprecation. We recommend that you use TagResource instead.

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsForResource. To remove tags, use UntagResource.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to log groups using the aws:Resource/key-name or aws:TagKeys condition keys. For more information about using tags to control access, see Controlling access to Amazon Web Services resources using tags.

", @@ -412,7 +413,7 @@ } }, "DeliveryDestination": { - "base": "

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

", + "base": "

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

", "refs": { "DeliveryDestinations$member": null, "GetDeliveryDestinationResponse$deliveryDestination": "

A structure containing information about the delivery destination.

", @@ -467,7 +468,7 @@ } }, "DeliverySource": { - "base": "

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

", + "base": "

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

", "refs": { "DeliverySources$member": null, "GetDeliverySourceResponse$deliverySource": "

A structure containing information about the delivery source.

", @@ -773,6 +774,7 @@ "refs": { "FilteredLogEvent$message": "

The data contained in the log event.

", "InputLogEvent$message": "

The raw event message. Each log event can be no larger than 256 KB.

", + "LiveTailSessionLogEvent$message": "

The log event message text.

", "MetricFilterMatchRecord$eventMessage": "

The raw event data.

", "OutputLogEvent$message": "

The data contained in the log event.

", "TestEventMessages$member": null @@ -909,9 +911,11 @@ "CreateLogAnomalyDetectorRequest$filterPattern": "

You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see Filter and Pattern Syntax.

", "FilterLogEventsRequest$filterPattern": "

The filter pattern to use. For more information, see Filter and Pattern Syntax.

If not provided, all the events are matched.

", "GetLogAnomalyDetectorResponse$filterPattern": null, + "LiveTailSessionStart$logEventFilterPattern": "

An optional pattern to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 displays only log events that include both error and 404.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

", "MetricFilter$filterPattern": null, "PutMetricFilterRequest$filterPattern": "

A filter pattern for extracting metric data out of ingested log events.

", "PutSubscriptionFilterRequest$filterPattern": "

A filter pattern for subscribing to a filtered stream of log events.

", + "StartLiveTailRequest$logEventFilterPattern": "

An optional pattern to use to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 causes only log events that include both error and 404 to be included in the Live Tail stream.

Regular expression filter patterns are supported.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

", "SubscriptionFilter$filterPattern": null, "TestMetricFilterRequest$filterPattern": null, "UpdateLogAnomalyDetectorRequest$filterPattern": null @@ -1074,7 +1078,11 @@ "InputLogStreamNames": { "base": null, "refs": { - "FilterLogEventsRequest$logStreamNames": "

Filters the results to only logs from the log streams in this list.

If you specify a value for both logStreamNamePrefix and logStreamNames, the action returns an InvalidParameterException error.

" + "FilterLogEventsRequest$logStreamNames": "

Filters the results to only logs from the log streams in this list.

If you specify a value for both logStreamNamePrefix and logStreamNames, the action returns an InvalidParameterException error.

", + "LiveTailSessionStart$logStreamNames": "

If your StartLiveTail operation request included a logStreamNames parameter that filtered the session to only include certain log streams, these streams are listed here.

", + "LiveTailSessionStart$logStreamNamePrefixes": "

If your StartLiveTail operation request included a logStreamNamePrefixes parameter that filtered the session to only include log streams that have names that start with certain prefixes, these prefixes are listed here.

", + "StartLiveTailRequest$logStreamNames": "

If you specify this parameter, then only log events in the log streams that you specify here are included in the Live Tail session.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

", + "StartLiveTailRequest$logStreamNamePrefixes": "

If you specify this parameter, then only log events in the log streams that have names that start with the prefixes that you specify here are included in the Live Tail session.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

" } }, "Integer": { @@ -1104,6 +1112,12 @@ "refs": { } }, + "IsSampled": { + "base": null, + "refs": { + "LiveTailSessionMetadata$sampled": "

If this is true, then more than 500 log events matched the request for this update, and the sessionResults includes a sample of 500 of those events.

If this is false, then 500 or fewer log events matched the request for this update, so no sampling was necessary. In this case, the sessionResults array includes all log events that matched your request during this time.

" + } + }, "KmsKeyId": { "base": null, "refs": { @@ -1172,6 +1186,36 @@ "refs": { } }, + "LiveTailSessionLogEvent": { + "base": "

This object contains the information for one log event returned in a Live Tail stream.

", + "refs": { + "LiveTailSessionResults$member": null + } + }, + "LiveTailSessionMetadata": { + "base": "

This object contains the metadata for one LiveTailSessionUpdate structure. It indicates whether that update includes only a sample of 500 log events out of a larger number of ingested log events, or if it contains all of the matching log events ingested during that second of time.

", + "refs": { + "LiveTailSessionUpdate$sessionMetadata": "

This object contains the session metadata for a Live Tail session.

" + } + }, + "LiveTailSessionResults": { + "base": null, + "refs": { + "LiveTailSessionUpdate$sessionResults": "

An array, where each member of the array includes the information for one log event in the Live Tail session.

A sessionResults array can include as many as 500 log events. If the number of log events matching the request exceeds 500 per second, the log events are sampled down to 500 log events to be included in each sessionUpdate structure.

" + } + }, + "LiveTailSessionStart": { + "base": "

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

", + "refs": { + "StartLiveTailResponseStream$sessionStart": "

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

" + } + }, + "LiveTailSessionUpdate": { + "base": "

This object contains the log events and metadata for a Live Tail session.

", + "refs": { + "StartLiveTailResponseStream$sessionUpdate": "

This object contains the log events and session metadata.

" + } + }, "LogEvent": { "base": null, "refs": { @@ -1204,14 +1248,14 @@ "refs": { "Anomaly$logGroupArnList": "

An array of ARNS of the log groups that contained log events considered to be part of this anomaly.

", "AnomalyDetector$logGroupArnList": "

A list of the ARNs of the log groups that this anomaly detector watches.

", - "CreateLogAnomalyDetectorRequest$logGroupArnList": "

An array containing the ARNs of the log groups that this anomaly detector will watch. You must specify at least one ARN.

", + "CreateLogAnomalyDetectorRequest$logGroupArnList": "

An array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.

", "GetLogAnomalyDetectorResponse$logGroupArnList": "

An array of structures, where each structure contains the ARN of a log group associated with this anomaly detector.

" } }, "LogGroupClass": { "base": null, "refs": { - "CreateLogGroupRequest$logGroupClass": "

Use this parameter to specify the log group class for this log group. There are two classes:

If you omit this parameter, the default of STANDARD is used.

For details about the features supported by each class, see Log classes

", + "CreateLogGroupRequest$logGroupClass": "

Use this parameter to specify the log group class for this log group. There are two classes:

If you omit this parameter, the default of STANDARD is used.

After a log group is created, its class can't be changed.

For details about the features supported by each class, see Log classes

", "DescribeLogGroupsRequest$logGroupClass": "

Specifies the log group class for this log group. There are two classes:

For details about the features supported by each class, see Log classes

", "LogGroup$logGroupClass": "

This specifies the log group class for this log group. There are two classes:

For details about the features supported by each class, see Log classes

" } @@ -1238,9 +1282,11 @@ "GetDataProtectionPolicyResponse$logGroupIdentifier": "

The log group name or ARN that you specified in your request.

", "GetLogEventsRequest$logGroupIdentifier": "

Specify either the name or ARN of the log group to view events from. If the log group is in a source account and you are using a monitoring account, you must use the log group ARN.

You must include either logGroupIdentifier or logGroupName, but not both.

", "GetLogGroupFieldsRequest$logGroupIdentifier": "

Specify either the name or ARN of the log group to view. If the log group is in a source account and you are using a monitoring account, you must specify the ARN.

You must include either logGroupIdentifier or logGroupName, but not both.

", + "LiveTailSessionLogEvent$logGroupIdentifier": "

The name or ARN of the log group that ingested this log event.

", "LogGroupIdentifiers$member": null, "PutDataProtectionPolicyRequest$logGroupIdentifier": "

Specify either the log group name or log group ARN.

", - "PutDataProtectionPolicyResponse$logGroupIdentifier": "

The log group name or ARN that you specified in your request.

" + "PutDataProtectionPolicyResponse$logGroupIdentifier": "

The log group name or ARN that you specified in your request.

", + "StartLiveTailLogGroupIdentifiers$member": null } }, "LogGroupIdentifiers": { @@ -1341,6 +1387,7 @@ "FilteredLogEvent$logStreamName": "

The name of the log stream to which this event belongs.

", "GetLogEventsRequest$logStreamName": "

The name of the log stream.

", "InputLogStreamNames$member": null, + "LiveTailSessionLogEvent$logStreamName": "

The name of the log stream that ingested this log event.

", "LogStream$logStreamName": "

The name of the log stream.

", "PutLogEventsRequest$logStreamName": "

The name of the log stream.

", "SearchedLogStream$logStreamName": "

The name of the log stream.

" @@ -1374,6 +1421,8 @@ "base": null, "refs": { "QueryCompileError$message": "

Reserved.

", + "SessionStreamingException$message": null, + "SessionTimeoutException$message": null, "TooManyTagsException$message": null } }, @@ -1800,6 +1849,12 @@ "PutLogEventsResponse$rejectedLogEventsInfo": "

The rejected events.

" } }, + "RequestId": { + "base": null, + "refs": { + "LiveTailSessionStart$requestId": "

The unique ID generated by CloudWatch Logs to identify this Live Tail session request.

" + } + }, "ResourceAlreadyExistsException": { "base": "

The specified resource already exists.

", "refs": { @@ -1902,6 +1957,24 @@ "refs": { } }, + "SessionId": { + "base": null, + "refs": { + "LiveTailSessionStart$sessionId": "

The unique ID generated by CloudWatch Logs to identify this Live Tail session.

" + } + }, + "SessionStreamingException": { + "base": "

his exception is returned if an unknown error occurs during a Live Tail session.

", + "refs": { + "StartLiveTailResponseStream$SessionStreamingException": "

This exception is returned if an unknown error occurs.

" + } + }, + "SessionTimeoutException": { + "base": "

This exception is returned in a Live Tail stream when the Live Tail session times out. Live Tail sessions time out after three hours.

", + "refs": { + "StartLiveTailResponseStream$SessionTimeoutException": "

This exception is returned in the stream when the Live Tail session times out. Live Tail sessions time out after three hours.

" + } + }, "StandardUnit": { "base": null, "refs": { @@ -1914,6 +1987,29 @@ "GetLogEventsRequest$startFromHead": "

If the value is true, the earliest log events are returned first. If the value is false, the latest log events are returned first. The default value is false.

If you are using a previous nextForwardToken value as the nextToken in this operation, you must specify true for startFromHead.

" } }, + "StartLiveTailLogGroupIdentifiers": { + "base": null, + "refs": { + "LiveTailSessionStart$logGroupIdentifiers": "

An array of the names and ARNs of the log groups included in this Live Tail session.

", + "StartLiveTailRequest$logGroupIdentifiers": "

An array where each item in the array is a log group to include in the Live Tail session.

Specify each log group by its ARN.

If you specify an ARN, the ARN can't end with an asterisk (*).

You can include up to 10 log groups.

" + } + }, + "StartLiveTailRequest": { + "base": null, + "refs": { + } + }, + "StartLiveTailResponse": { + "base": null, + "refs": { + } + }, + "StartLiveTailResponseStream": { + "base": "

This object includes the stream returned by your StartLiveTail request.

", + "refs": { + "StartLiveTailResponse$responseStream": "

An object that includes the stream returned by your request. It can include both log events and exceptions.

" + } + }, "StartQueryRequest": { "base": null, "refs": { @@ -2106,6 +2202,8 @@ "GetLogEventsRequest$endTime": "

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to or later than this time are not included.

", "GetLogGroupFieldsRequest$time": "

The time to set as the center of the query. If you specify time, the 8 minutes before and 8 minutes after this time are searched. If you omit time, the most recent 15 minutes up to the current time are searched.

The time value is specified as epoch time, which is the number of seconds since January 1, 1970, 00:00:00 UTC.

", "InputLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "LiveTailSessionLogEvent$timestamp": "

The timestamp specifying when this log event was created.

", + "LiveTailSessionLogEvent$ingestionTime": "

The timestamp specifying when this log event was ingested into the log group.

", "LogGroup$creationTime": "

The creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", "LogStream$creationTime": "

The creation time of the stream, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", "LogStream$firstEventTimestamp": "

The time of the first event, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 0f3678cfefb..b91dfc05442 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2768,6 +2768,7 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "il-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { }, diff --git a/service/cloudwatchlogs/api.go b/service/cloudwatchlogs/api.go index c45f577f924..d336ba7ceda 100644 --- a/service/cloudwatchlogs/api.go +++ b/service/cloudwatchlogs/api.go @@ -3,13 +3,22 @@ package cloudwatchlogs import ( + "bytes" "fmt" + "io" + "sync" + "time" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/eventstream" + "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi" "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" + "github.com/aws/aws-sdk-go/private/protocol/rest" ) const opAssociateKmsKey = "AssociateKmsKey" @@ -300,7 +309,7 @@ func (c *CloudWatchLogs) CreateDeliveryRequest(input *CreateDeliveryInput) (req // (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html). // // - If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy -// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html) +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) // in the destination account to assign an IAM policy to the destination. // This policy allows delivery to that destination. // @@ -3543,7 +3552,8 @@ func (c *CloudWatchLogs) DescribeQueryDefinitionsRequest(input *DescribeQueryDef // DescribeQueryDefinitions API operation for Amazon CloudWatch Logs. // // This operation returns a paginated list of your saved CloudWatch Logs Insights -// query definitions. +// query definitions. You can retrieve query definitions from the current account +// or from a source account that is linked to the current account. // // You can use the queryDefinitionNamePrefix parameter to limit the results // to only the query definitions that have names that start with a certain string. @@ -5866,7 +5876,7 @@ func (c *CloudWatchLogs) PutDeliveryDestinationRequest(input *PutDeliveryDestina // a logical object that represents the actual delivery destination. // // - If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy -// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html) +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) // in the destination account to assign an IAM policy to the destination. // This policy allows delivery to that destination. // @@ -6109,7 +6119,7 @@ func (c *CloudWatchLogs) PutDeliverySourceRequest(input *PutDeliverySourceInput) // more information, see PutDeliveryDestination (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html). // // - If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy -// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html) +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) // in the destination account to assign an IAM policy to the destination. // This policy allows delivery to that destination. // @@ -7036,6 +7046,333 @@ func (c *CloudWatchLogs) PutSubscriptionFilterWithContext(ctx aws.Context, input return out, req.Send() } +const opStartLiveTail = "StartLiveTail" + +// StartLiveTailRequest generates a "aws/request.Request" representing the +// client's request for the StartLiveTail 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 StartLiveTail for more information on using the StartLiveTail +// 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 StartLiveTailRequest method. +// req, resp := client.StartLiveTailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartLiveTail +func (c *CloudWatchLogs) StartLiveTailRequest(input *StartLiveTailInput) (req *request.Request, output *StartLiveTailOutput) { + op := &request.Operation{ + Name: opStartLiveTail, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartLiveTailInput{} + } + + output = &StartLiveTailOutput{} + req = c.newRequest(op, input, output) + + es := NewStartLiveTailEventStream() + output.eventStream = es + + req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, rest.UnmarshalHandler) + req.Handlers.Unmarshal.PushBack(es.runOutputStream) + es.output = output + req.Handlers.Unmarshal.PushBack(es.recvInitialEvent) + req.Handlers.Unmarshal.PushBack(es.runOnStreamPartClose) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("streaming-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// StartLiveTail API operation for Amazon CloudWatch Logs. +// +// Starts a Live Tail streaming session for one or more log groups. A Live Tail +// session returns a stream of log events that have been recently ingested in +// the log groups. For more information, see Use Live Tail to view logs in near +// real time (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs_LiveTail.html). +// +// The response to this operation is a response stream, over which the server +// sends live log events and the client receives them. +// +// The following objects are sent over the stream: +// +// - A single LiveTailSessionStart (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_LiveTailSessionStart.html) +// object is sent at the start of the session. +// +// - Every second, a LiveTailSessionUpdate (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_LiveTailSessionUpdate.html) +// object is sent. Each of these objects contains an array of the actual +// log events. If no new log events were ingested in the past second, the +// LiveTailSessionUpdate object will contain an empty array. The array of +// log events contained in a LiveTailSessionUpdate can include as many as +// 500 log events. If the number of log events matching the request exceeds +// 500 per second, the log events are sampled down to 500 log events to be +// included in each LiveTailSessionUpdate object. If your client consumes +// the log events slower than the server produces them, CloudWatch Logs buffers +// up to 10 LiveTailSessionUpdate events or 5000 log events, after which +// it starts dropping the oldest events. +// +// - A SessionStreamingException (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_SessionStreamingException.html) +// object is returned if an unknown error occurs on the server side. +// +// - A SessionTimeoutException (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_SessionTimeoutException.html) +// object is returned when the session times out, after it has been kept +// open for three hours. +// +// You can end a session before it times out by closing the session stream or +// by closing the client that is receiving the stream. The session also ends +// if the established connection between the client and the server breaks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation StartLiveTail for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient permissions to perform this action. +// +// - InvalidParameterException +// A parameter is specified incorrectly. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// - LimitExceededException +// You have reached the maximum number of resources that can be created. +// +// - InvalidOperationException +// The operation is not valid on the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartLiveTail +func (c *CloudWatchLogs) StartLiveTail(input *StartLiveTailInput) (*StartLiveTailOutput, error) { + req, out := c.StartLiveTailRequest(input) + return out, req.Send() +} + +// StartLiveTailWithContext is the same as StartLiveTail with the addition of +// the ability to pass a context and additional request options. +// +// See StartLiveTail 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 *CloudWatchLogs) StartLiveTailWithContext(ctx aws.Context, input *StartLiveTailInput, opts ...request.Option) (*StartLiveTailOutput, error) { + req, out := c.StartLiveTailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +var _ awserr.Error +var _ time.Time + +// StartLiveTailEventStream provides the event stream handling for the StartLiveTail. +// +// For testing and mocking the event stream this type should be initialized via +// the NewStartLiveTailEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type StartLiveTailEventStream struct { + + // Reader is the EventStream reader for the StartLiveTailResponseStream + // events. This value is automatically set by the SDK when the API call is made + // Use this member when unit testing your code with the SDK to mock out the + // EventStream Reader. + // + // Must not be nil. + Reader StartLiveTailResponseStreamReader + + outputReader io.ReadCloser + output *StartLiveTailOutput + + done chan struct{} + closeOnce sync.Once + err *eventstreamapi.OnceError +} + +// NewStartLiveTailEventStream initializes an StartLiveTailEventStream. +// This function should only be used for testing and mocking the StartLiveTailEventStream +// stream within your application. +// +// The Reader member must be set before reading events from the stream. +// +// es := NewStartLiveTailEventStream(func(o *StartLiveTailEventStream){ +// es.Reader = myMockStreamReader +// }) +func NewStartLiveTailEventStream(opts ...func(*StartLiveTailEventStream)) *StartLiveTailEventStream { + es := &StartLiveTailEventStream{ + done: make(chan struct{}), + err: eventstreamapi.NewOnceError(), + } + + for _, fn := range opts { + fn(es) + } + + return es +} + +func (es *StartLiveTailEventStream) runOnStreamPartClose(r *request.Request) { + if es.done == nil { + return + } + go es.waitStreamPartClose() + +} + +func (es *StartLiveTailEventStream) waitStreamPartClose() { + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(interface{ ErrorSet() <-chan struct{} }); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + } +} + +type eventTypeForStartLiveTailEventStreamOutputEvent struct { + unmarshalerForEvent func(string) (eventstreamapi.Unmarshaler, error) + output *StartLiveTailOutput +} + +func (e eventTypeForStartLiveTailEventStreamOutputEvent) UnmarshalerForEventName(eventType string) (eventstreamapi.Unmarshaler, error) { + if eventType == "initial-response" { + return e.output, nil + } + return e.unmarshalerForEvent(eventType) +} + +// Events returns a channel to read events from. +// +// These events are: +// +// - LiveTailSessionStart +// - LiveTailSessionUpdate +// - StartLiveTailResponseStreamUnknownEvent +func (es *StartLiveTailEventStream) Events() <-chan StartLiveTailResponseStreamEvent { + return es.Reader.Events() +} + +func (es *StartLiveTailEventStream) runOutputStream(r *request.Request) { + var opts []func(*eventstream.Decoder) + if r.Config.Logger != nil && r.Config.LogLevel.Matches(aws.LogDebugWithEventStreamBody) { + opts = append(opts, eventstream.DecodeWithLogger(r.Config.Logger)) + } + + unmarshalerForEvent := unmarshalerForStartLiveTailResponseStreamEvent{ + metadata: protocol.ResponseMetadata{ + StatusCode: r.HTTPResponse.StatusCode, + RequestID: r.RequestID, + }, + }.UnmarshalerForEventName + unmarshalerForEvent = eventTypeForStartLiveTailEventStreamOutputEvent{ + unmarshalerForEvent: unmarshalerForEvent, + output: es.output, + }.UnmarshalerForEventName + + decoder := eventstream.NewDecoder(r.HTTPResponse.Body, opts...) + eventReader := eventstreamapi.NewEventReader(decoder, + protocol.HandlerPayloadUnmarshal{ + Unmarshalers: r.Handlers.UnmarshalStream, + }, + unmarshalerForEvent, + ) + + es.outputReader = r.HTTPResponse.Body + es.Reader = newReadStartLiveTailResponseStream(eventReader) +} +func (es *StartLiveTailEventStream) recvInitialEvent(r *request.Request) { + // Wait for the initial response event, which must be the first + // event to be received from the API. + select { + case event, ok := <-es.Events(): + if !ok { + return + } + + v, ok := event.(*StartLiveTailOutput) + if !ok || v == nil { + r.Error = awserr.New( + request.ErrCodeSerialization, + fmt.Sprintf("invalid event, %T, expect %T, %v", + event, (*StartLiveTailOutput)(nil), v), + nil, + ) + return + } + + *es.output = *v + es.output.eventStream = es + } +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// You can use the closing of the Reader's Events channel to terminate your +// application's read from the API's stream. +func (es *StartLiveTailEventStream) Close() (err error) { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *StartLiveTailEventStream) safeClose() { + if es.done != nil { + close(es.done) + } + + es.Reader.Close() + if es.outputReader != nil { + es.outputReader.Close() + } +} + +// Err returns any error that occurred while reading or writing EventStream +// Events from the service API's response. Returns nil if there were no errors. +func (es *StartLiveTailEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + const opStartQuery = "StartQuery" // StartQueryRequest generates a "aws/request.Request" representing the @@ -8984,8 +9321,8 @@ type CreateLogAnomalyDetectorInput struct { // see Use a KMS key with an anomaly detector (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/LogsAnomalyDetection-KMS.html). KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - // An array containing the ARNs of the log groups that this anomaly detector - // will watch. You must specify at least one ARN. + // An array containing the ARN of the log group that this anomaly detector will + // watch. You can specify only one log group ARN. // // LogGroupArnList is a required field LogGroupArnList []*string `locationName:"logGroupArnList" type:"list" required:"true"` @@ -9127,6 +9464,8 @@ type CreateLogGroupInput struct { // // If you omit this parameter, the default of STANDARD is used. // + // After a log group is created, its class can't be changed. + // // For details about the features supported by each class, see Log classes (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html) LogGroupClass *string `locationName:"logGroupClass" type:"string" enum:"LogGroupClass"` @@ -10615,7 +10954,7 @@ func (s *Delivery) SetTags(v map[string]*string) *Delivery { // the actual delivery destination. // // - If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy -// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html) +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) // in the destination account to assign an IAM policy to the destination. // This policy allows delivery to that destination. // @@ -10774,7 +11113,7 @@ func (s *DeliveryDestinationConfiguration) SetDestinationResourceArn(v string) * // (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html). // // - If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy -// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html) +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) // in the destination account to assign an IAM policy to the destination. // This policy allows delivery to that destination. // @@ -14980,55 +15319,25 @@ func (s *ListTagsLogGroupOutput) SetTags(v map[string]*string) *ListTagsLogGroup return s } -// Represents a log group. -type LogGroup struct { +// This object contains the information for one log event returned in a Live +// Tail stream. +type LiveTailSessionLogEvent struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the log group. - Arn *string `locationName:"arn" type:"string"` - - // The creation time of the log group, expressed as the number of milliseconds - // after Jan 1, 1970 00:00:00 UTC. - CreationTime *int64 `locationName:"creationTime" type:"long"` - - // Displays whether this log group has a protection policy, or whether it had - // one in the past. For more information, see PutDataProtectionPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDataProtectionPolicy.html). - DataProtectionStatus *string `locationName:"dataProtectionStatus" type:"string" enum:"DataProtectionStatus"` - - // Displays all the properties that this log group has inherited from account-level - // settings. - InheritedProperties []*string `locationName:"inheritedProperties" type:"list" enum:"InheritedProperty"` - - // The Amazon Resource Name (ARN) of the KMS key to use when encrypting log - // data. - KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - - // This specifies the log group class for this log group. There are two classes: - // - // * The Standard log class supports all CloudWatch Logs features. - // - // * The Infrequent Access log class supports a subset of CloudWatch Logs - // features and incurs lower costs. - // - // For details about the features supported by each class, see Log classes (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html) - LogGroupClass *string `locationName:"logGroupClass" type:"string" enum:"LogGroupClass"` + // The timestamp specifying when this log event was ingested into the log group. + IngestionTime *int64 `locationName:"ingestionTime" type:"long"` - // The name of the log group. - LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"` + // The name or ARN of the log group that ingested this log event. + LogGroupIdentifier *string `locationName:"logGroupIdentifier" min:"1" type:"string"` - // The number of metric filters. - MetricFilterCount *int64 `locationName:"metricFilterCount" type:"integer"` + // The name of the log stream that ingested this log event. + LogStreamName *string `locationName:"logStreamName" min:"1" type:"string"` - // The number of days to retain the log events in the specified log group. Possible - // values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, - // 1096, 1827, 2192, 2557, 2922, 3288, and 3653. - // - // To set a log group so that its log events do not expire, use DeleteRetentionPolicy - // (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html). - RetentionInDays *int64 `locationName:"retentionInDays" type:"integer"` + // The log event message text. + Message *string `locationName:"message" min:"1" type:"string"` - // The number of bytes stored. - StoredBytes *int64 `locationName:"storedBytes" type:"long"` + // The timestamp specifying when this log event was created. + Timestamp *int64 `locationName:"timestamp" type:"long"` } // String returns the string representation. @@ -15036,7 +15345,7 @@ type LogGroup struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LogGroup) String() string { +func (s LiveTailSessionLogEvent) String() string { return awsutil.Prettify(s) } @@ -15045,80 +15354,54 @@ func (s LogGroup) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LogGroup) GoString() string { +func (s LiveTailSessionLogEvent) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *LogGroup) SetArn(v string) *LogGroup { - s.Arn = &v - return s -} - -// SetCreationTime sets the CreationTime field's value. -func (s *LogGroup) SetCreationTime(v int64) *LogGroup { - s.CreationTime = &v - return s -} - -// SetDataProtectionStatus sets the DataProtectionStatus field's value. -func (s *LogGroup) SetDataProtectionStatus(v string) *LogGroup { - s.DataProtectionStatus = &v - return s -} - -// SetInheritedProperties sets the InheritedProperties field's value. -func (s *LogGroup) SetInheritedProperties(v []*string) *LogGroup { - s.InheritedProperties = v - return s -} - -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *LogGroup) SetKmsKeyId(v string) *LogGroup { - s.KmsKeyId = &v - return s -} - -// SetLogGroupClass sets the LogGroupClass field's value. -func (s *LogGroup) SetLogGroupClass(v string) *LogGroup { - s.LogGroupClass = &v +// SetIngestionTime sets the IngestionTime field's value. +func (s *LiveTailSessionLogEvent) SetIngestionTime(v int64) *LiveTailSessionLogEvent { + s.IngestionTime = &v return s } -// SetLogGroupName sets the LogGroupName field's value. -func (s *LogGroup) SetLogGroupName(v string) *LogGroup { - s.LogGroupName = &v +// SetLogGroupIdentifier sets the LogGroupIdentifier field's value. +func (s *LiveTailSessionLogEvent) SetLogGroupIdentifier(v string) *LiveTailSessionLogEvent { + s.LogGroupIdentifier = &v return s } -// SetMetricFilterCount sets the MetricFilterCount field's value. -func (s *LogGroup) SetMetricFilterCount(v int64) *LogGroup { - s.MetricFilterCount = &v +// SetLogStreamName sets the LogStreamName field's value. +func (s *LiveTailSessionLogEvent) SetLogStreamName(v string) *LiveTailSessionLogEvent { + s.LogStreamName = &v return s } -// SetRetentionInDays sets the RetentionInDays field's value. -func (s *LogGroup) SetRetentionInDays(v int64) *LogGroup { - s.RetentionInDays = &v +// SetMessage sets the Message field's value. +func (s *LiveTailSessionLogEvent) SetMessage(v string) *LiveTailSessionLogEvent { + s.Message = &v return s } -// SetStoredBytes sets the StoredBytes field's value. -func (s *LogGroup) SetStoredBytes(v int64) *LogGroup { - s.StoredBytes = &v +// SetTimestamp sets the Timestamp field's value. +func (s *LiveTailSessionLogEvent) SetTimestamp(v int64) *LiveTailSessionLogEvent { + s.Timestamp = &v return s } -// The fields contained in log events found by a GetLogGroupFields operation, -// along with the percentage of queried log events in which each field appears. -type LogGroupField struct { +// This object contains the metadata for one LiveTailSessionUpdate structure. +// It indicates whether that update includes only a sample of 500 log events +// out of a larger number of ingested log events, or if it contains all of the +// matching log events ingested during that second of time. +type LiveTailSessionMetadata struct { _ struct{} `type:"structure"` - // The name of a log field. - Name *string `locationName:"name" type:"string"` - - // The percentage of log events queried that contained the field. - Percent *int64 `locationName:"percent" type:"integer"` + // If this is true, then more than 500 log events matched the request for this + // update, and the sessionResults includes a sample of 500 of those events. + // + // If this is false, then 500 or fewer log events matched the request for this + // update, so no sampling was necessary. In this case, the sessionResults array + // includes all log events that matched your request during this time. + Sampled *bool `locationName:"sampled" type:"boolean"` } // String returns the string representation. @@ -15126,7 +15409,7 @@ type LogGroupField struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LogGroupField) String() string { +func (s LiveTailSessionMetadata) String() string { return awsutil.Prettify(s) } @@ -15135,7 +15418,365 @@ func (s LogGroupField) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LogGroupField) GoString() string { +func (s LiveTailSessionMetadata) GoString() string { + return s.String() +} + +// SetSampled sets the Sampled field's value. +func (s *LiveTailSessionMetadata) SetSampled(v bool) *LiveTailSessionMetadata { + s.Sampled = &v + return s +} + +// This object contains information about this Live Tail session, including +// the log groups included and the log stream filters, if any. +type LiveTailSessionStart struct { + _ struct{} `type:"structure"` + + // An optional pattern to filter the results to include only log events that + // match the pattern. For example, a filter pattern of error 404 displays only + // log events that include both error and 404. + // + // For more information about filter pattern syntax, see Filter and Pattern + // Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + LogEventFilterPattern *string `locationName:"logEventFilterPattern" type:"string"` + + // An array of the names and ARNs of the log groups included in this Live Tail + // session. + LogGroupIdentifiers []*string `locationName:"logGroupIdentifiers" min:"1" type:"list"` + + // If your StartLiveTail operation request included a logStreamNamePrefixes + // parameter that filtered the session to only include log streams that have + // names that start with certain prefixes, these prefixes are listed here. + LogStreamNamePrefixes []*string `locationName:"logStreamNamePrefixes" min:"1" type:"list"` + + // If your StartLiveTail operation request included a logStreamNames parameter + // that filtered the session to only include certain log streams, these streams + // are listed here. + LogStreamNames []*string `locationName:"logStreamNames" min:"1" type:"list"` + + // The unique ID generated by CloudWatch Logs to identify this Live Tail session + // request. + RequestId *string `locationName:"requestId" type:"string"` + + // The unique ID generated by CloudWatch Logs to identify this Live Tail session. + SessionId *string `locationName:"sessionId" 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 LiveTailSessionStart) 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 LiveTailSessionStart) GoString() string { + return s.String() +} + +// SetLogEventFilterPattern sets the LogEventFilterPattern field's value. +func (s *LiveTailSessionStart) SetLogEventFilterPattern(v string) *LiveTailSessionStart { + s.LogEventFilterPattern = &v + return s +} + +// SetLogGroupIdentifiers sets the LogGroupIdentifiers field's value. +func (s *LiveTailSessionStart) SetLogGroupIdentifiers(v []*string) *LiveTailSessionStart { + s.LogGroupIdentifiers = v + return s +} + +// SetLogStreamNamePrefixes sets the LogStreamNamePrefixes field's value. +func (s *LiveTailSessionStart) SetLogStreamNamePrefixes(v []*string) *LiveTailSessionStart { + s.LogStreamNamePrefixes = v + return s +} + +// SetLogStreamNames sets the LogStreamNames field's value. +func (s *LiveTailSessionStart) SetLogStreamNames(v []*string) *LiveTailSessionStart { + s.LogStreamNames = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *LiveTailSessionStart) SetRequestId(v string) *LiveTailSessionStart { + s.RequestId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *LiveTailSessionStart) SetSessionId(v string) *LiveTailSessionStart { + s.SessionId = &v + return s +} + +// The LiveTailSessionStart is and event in the StartLiveTailResponseStream group of events. +func (s *LiveTailSessionStart) eventStartLiveTailResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the LiveTailSessionStart value. +// This method is only used internally within the SDK's EventStream handling. +func (s *LiveTailSessionStart) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *LiveTailSessionStart) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// This object contains the log events and metadata for a Live Tail session. +type LiveTailSessionUpdate struct { + _ struct{} `type:"structure"` + + // This object contains the session metadata for a Live Tail session. + SessionMetadata *LiveTailSessionMetadata `locationName:"sessionMetadata" type:"structure"` + + // An array, where each member of the array includes the information for one + // log event in the Live Tail session. + // + // A sessionResults array can include as many as 500 log events. If the number + // of log events matching the request exceeds 500 per second, the log events + // are sampled down to 500 log events to be included in each sessionUpdate structure. + SessionResults []*LiveTailSessionLogEvent `locationName:"sessionResults" 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 LiveTailSessionUpdate) 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 LiveTailSessionUpdate) GoString() string { + return s.String() +} + +// SetSessionMetadata sets the SessionMetadata field's value. +func (s *LiveTailSessionUpdate) SetSessionMetadata(v *LiveTailSessionMetadata) *LiveTailSessionUpdate { + s.SessionMetadata = v + return s +} + +// SetSessionResults sets the SessionResults field's value. +func (s *LiveTailSessionUpdate) SetSessionResults(v []*LiveTailSessionLogEvent) *LiveTailSessionUpdate { + s.SessionResults = v + return s +} + +// The LiveTailSessionUpdate is and event in the StartLiveTailResponseStream group of events. +func (s *LiveTailSessionUpdate) eventStartLiveTailResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the LiveTailSessionUpdate value. +// This method is only used internally within the SDK's EventStream handling. +func (s *LiveTailSessionUpdate) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *LiveTailSessionUpdate) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// Represents a log group. +type LogGroup struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the log group. + Arn *string `locationName:"arn" type:"string"` + + // The creation time of the log group, expressed as the number of milliseconds + // after Jan 1, 1970 00:00:00 UTC. + CreationTime *int64 `locationName:"creationTime" type:"long"` + + // Displays whether this log group has a protection policy, or whether it had + // one in the past. For more information, see PutDataProtectionPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDataProtectionPolicy.html). + DataProtectionStatus *string `locationName:"dataProtectionStatus" type:"string" enum:"DataProtectionStatus"` + + // Displays all the properties that this log group has inherited from account-level + // settings. + InheritedProperties []*string `locationName:"inheritedProperties" type:"list" enum:"InheritedProperty"` + + // The Amazon Resource Name (ARN) of the KMS key to use when encrypting log + // data. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + + // This specifies the log group class for this log group. There are two classes: + // + // * The Standard log class supports all CloudWatch Logs features. + // + // * The Infrequent Access log class supports a subset of CloudWatch Logs + // features and incurs lower costs. + // + // For details about the features supported by each class, see Log classes (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html) + LogGroupClass *string `locationName:"logGroupClass" type:"string" enum:"LogGroupClass"` + + // The name of the log group. + LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"` + + // The number of metric filters. + MetricFilterCount *int64 `locationName:"metricFilterCount" type:"integer"` + + // The number of days to retain the log events in the specified log group. Possible + // values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, + // 1096, 1827, 2192, 2557, 2922, 3288, and 3653. + // + // To set a log group so that its log events do not expire, use DeleteRetentionPolicy + // (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteRetentionPolicy.html). + RetentionInDays *int64 `locationName:"retentionInDays" type:"integer"` + + // The number of bytes stored. + StoredBytes *int64 `locationName:"storedBytes" type:"long"` +} + +// 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 LogGroup) 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 LogGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *LogGroup) SetArn(v string) *LogGroup { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *LogGroup) SetCreationTime(v int64) *LogGroup { + s.CreationTime = &v + return s +} + +// SetDataProtectionStatus sets the DataProtectionStatus field's value. +func (s *LogGroup) SetDataProtectionStatus(v string) *LogGroup { + s.DataProtectionStatus = &v + return s +} + +// SetInheritedProperties sets the InheritedProperties field's value. +func (s *LogGroup) SetInheritedProperties(v []*string) *LogGroup { + s.InheritedProperties = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *LogGroup) SetKmsKeyId(v string) *LogGroup { + s.KmsKeyId = &v + return s +} + +// SetLogGroupClass sets the LogGroupClass field's value. +func (s *LogGroup) SetLogGroupClass(v string) *LogGroup { + s.LogGroupClass = &v + return s +} + +// SetLogGroupName sets the LogGroupName field's value. +func (s *LogGroup) SetLogGroupName(v string) *LogGroup { + s.LogGroupName = &v + return s +} + +// SetMetricFilterCount sets the MetricFilterCount field's value. +func (s *LogGroup) SetMetricFilterCount(v int64) *LogGroup { + s.MetricFilterCount = &v + return s +} + +// SetRetentionInDays sets the RetentionInDays field's value. +func (s *LogGroup) SetRetentionInDays(v int64) *LogGroup { + s.RetentionInDays = &v + return s +} + +// SetStoredBytes sets the StoredBytes field's value. +func (s *LogGroup) SetStoredBytes(v int64) *LogGroup { + s.StoredBytes = &v + return s +} + +// The fields contained in log events found by a GetLogGroupFields operation, +// along with the percentage of queried log events in which each field appears. +type LogGroupField struct { + _ struct{} `type:"structure"` + + // The name of a log field. + Name *string `locationName:"name" type:"string"` + + // The percentage of log events queried that contained the field. + Percent *int64 `locationName:"percent" 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 LogGroupField) 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 LogGroupField) GoString() string { return s.String() } @@ -18184,6 +18825,517 @@ func (s *ServiceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } +// his exception is returned if an unknown error occurs during a Live Tail session. +type SessionStreamingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SessionStreamingException) 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 SessionStreamingException) GoString() string { + return s.String() +} + +// The SessionStreamingException is and event in the StartLiveTailResponseStream group of events. +func (s *SessionStreamingException) eventStartLiveTailResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the SessionStreamingException value. +// This method is only used internally within the SDK's EventStream handling. +func (s *SessionStreamingException) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *SessionStreamingException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +func newErrorSessionStreamingException(v protocol.ResponseMetadata) error { + return &SessionStreamingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SessionStreamingException) Code() string { + return "SessionStreamingException" +} + +// Message returns the exception's message. +func (s *SessionStreamingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SessionStreamingException) OrigErr() error { + return nil +} + +func (s *SessionStreamingException) 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 *SessionStreamingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SessionStreamingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This exception is returned in a Live Tail stream when the Live Tail session +// times out. Live Tail sessions time out after three hours. +type SessionTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SessionTimeoutException) 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 SessionTimeoutException) GoString() string { + return s.String() +} + +// The SessionTimeoutException is and event in the StartLiveTailResponseStream group of events. +func (s *SessionTimeoutException) eventStartLiveTailResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the SessionTimeoutException value. +// This method is only used internally within the SDK's EventStream handling. +func (s *SessionTimeoutException) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *SessionTimeoutException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +func newErrorSessionTimeoutException(v protocol.ResponseMetadata) error { + return &SessionTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SessionTimeoutException) Code() string { + return "SessionTimeoutException" +} + +// Message returns the exception's message. +func (s *SessionTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SessionTimeoutException) OrigErr() error { + return nil +} + +func (s *SessionTimeoutException) 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 *SessionTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SessionTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + +type StartLiveTailInput struct { + _ struct{} `type:"structure"` + + // An optional pattern to use to filter the results to include only log events + // that match the pattern. For example, a filter pattern of error 404 causes + // only log events that include both error and 404 to be included in the Live + // Tail stream. + // + // Regular expression filter patterns are supported. + // + // For more information about filter pattern syntax, see Filter and Pattern + // Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + LogEventFilterPattern *string `locationName:"logEventFilterPattern" type:"string"` + + // An array where each item in the array is a log group to include in the Live + // Tail session. + // + // Specify each log group by its ARN. + // + // If you specify an ARN, the ARN can't end with an asterisk (*). + // + // You can include up to 10 log groups. + // + // LogGroupIdentifiers is a required field + LogGroupIdentifiers []*string `locationName:"logGroupIdentifiers" min:"1" type:"list" required:"true"` + + // If you specify this parameter, then only log events in the log streams that + // have names that start with the prefixes that you specify here are included + // in the Live Tail session. + // + // You can specify this parameter only if you specify only one log group in + // logGroupIdentifiers. + LogStreamNamePrefixes []*string `locationName:"logStreamNamePrefixes" min:"1" type:"list"` + + // If you specify this parameter, then only log events in the log streams that + // you specify here are included in the Live Tail session. + // + // You can specify this parameter only if you specify only one log group in + // logGroupIdentifiers. + LogStreamNames []*string `locationName:"logStreamNames" min:"1" 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 StartLiveTailInput) 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 StartLiveTailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartLiveTailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartLiveTailInput"} + if s.LogGroupIdentifiers == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupIdentifiers")) + } + if s.LogGroupIdentifiers != nil && len(s.LogGroupIdentifiers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupIdentifiers", 1)) + } + if s.LogStreamNamePrefixes != nil && len(s.LogStreamNamePrefixes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefixes", 1)) + } + if s.LogStreamNames != nil && len(s.LogStreamNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogStreamNames", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogEventFilterPattern sets the LogEventFilterPattern field's value. +func (s *StartLiveTailInput) SetLogEventFilterPattern(v string) *StartLiveTailInput { + s.LogEventFilterPattern = &v + return s +} + +// SetLogGroupIdentifiers sets the LogGroupIdentifiers field's value. +func (s *StartLiveTailInput) SetLogGroupIdentifiers(v []*string) *StartLiveTailInput { + s.LogGroupIdentifiers = v + return s +} + +// SetLogStreamNamePrefixes sets the LogStreamNamePrefixes field's value. +func (s *StartLiveTailInput) SetLogStreamNamePrefixes(v []*string) *StartLiveTailInput { + s.LogStreamNamePrefixes = v + return s +} + +// SetLogStreamNames sets the LogStreamNames field's value. +func (s *StartLiveTailInput) SetLogStreamNames(v []*string) *StartLiveTailInput { + s.LogStreamNames = v + return s +} + +type StartLiveTailOutput struct { + _ struct{} `type:"structure"` + + eventStream *StartLiveTailEventStream +} + +// 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 StartLiveTailOutput) 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 StartLiveTailOutput) GoString() string { + return s.String() +} + +// GetStream returns the type to interact with the event stream. +func (s *StartLiveTailOutput) GetStream() *StartLiveTailEventStream { + return s.eventStream +} + +// The StartLiveTailOutput is and event in the StartLiveTailResponseStream group of events. +func (s *StartLiveTailOutput) eventStartLiveTailResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the StartLiveTailOutput value. +// This method is only used internally within the SDK's EventStream handling. +func (s *StartLiveTailOutput) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *StartLiveTailOutput) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// StartLiveTailResponseStreamEvent groups together all EventStream +// events writes for StartLiveTailResponseStream. +// +// These events are: +// +// - LiveTailSessionStart +// - LiveTailSessionUpdate +type StartLiveTailResponseStreamEvent interface { + eventStartLiveTailResponseStream() + eventstreamapi.Marshaler + eventstreamapi.Unmarshaler +} + +// StartLiveTailResponseStreamReader provides the interface for reading to the stream. The +// default implementation for this interface will be StartLiveTailResponseStream. +// +// The reader's Close method must allow multiple concurrent calls. +// +// These events are: +// +// - LiveTailSessionStart +// - LiveTailSessionUpdate +// - StartLiveTailResponseStreamUnknownEvent +type StartLiveTailResponseStreamReader interface { + // Returns a channel of events as they are read from the event stream. + Events() <-chan StartLiveTailResponseStreamEvent + + // Close will stop the reader reading events from the stream. + Close() error + + // Returns any error that has occurred while reading from the event stream. + Err() error +} + +type readStartLiveTailResponseStream struct { + eventReader *eventstreamapi.EventReader + stream chan StartLiveTailResponseStreamEvent + err *eventstreamapi.OnceError + + done chan struct{} + closeOnce sync.Once +} + +func newReadStartLiveTailResponseStream(eventReader *eventstreamapi.EventReader) *readStartLiveTailResponseStream { + r := &readStartLiveTailResponseStream{ + eventReader: eventReader, + stream: make(chan StartLiveTailResponseStreamEvent), + done: make(chan struct{}), + err: eventstreamapi.NewOnceError(), + } + go r.readEventStream() + + return r +} + +// Close will close the underlying event stream reader. +func (r *readStartLiveTailResponseStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *readStartLiveTailResponseStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *readStartLiveTailResponseStream) Closed() <-chan struct{} { + return r.done +} + +func (r *readStartLiveTailResponseStream) safeClose() { + close(r.done) +} + +func (r *readStartLiveTailResponseStream) Err() error { + return r.err.Err() +} + +func (r *readStartLiveTailResponseStream) Events() <-chan StartLiveTailResponseStreamEvent { + return r.stream +} + +func (r *readStartLiveTailResponseStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + for { + event, err := r.eventReader.ReadEvent() + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + // If closed already ignore the error + return + default: + } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } + r.err.SetError(err) + return + } + + select { + case r.stream <- event.(StartLiveTailResponseStreamEvent): + case <-r.done: + return + } + } +} + +type unmarshalerForStartLiveTailResponseStreamEvent struct { + metadata protocol.ResponseMetadata +} + +func (u unmarshalerForStartLiveTailResponseStreamEvent) UnmarshalerForEventName(eventType string) (eventstreamapi.Unmarshaler, error) { + switch eventType { + case "sessionStart": + return &LiveTailSessionStart{}, nil + case "sessionUpdate": + return &LiveTailSessionUpdate{}, nil + case "SessionStreamingException": + return newErrorSessionStreamingException(u.metadata).(eventstreamapi.Unmarshaler), nil + case "SessionTimeoutException": + return newErrorSessionTimeoutException(u.metadata).(eventstreamapi.Unmarshaler), nil + default: + return &StartLiveTailResponseStreamUnknownEvent{Type: eventType}, nil + } +} + +// StartLiveTailResponseStreamUnknownEvent provides a failsafe event for the +// StartLiveTailResponseStream group of events when an unknown event is received. +type StartLiveTailResponseStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The StartLiveTailResponseStreamUnknownEvent is and event in the StartLiveTailResponseStream +// group of events. +func (s *StartLiveTailResponseStreamUnknownEvent) eventStartLiveTailResponseStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *StartLiveTailResponseStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the StartLiveTailResponseStream value. +// This method is only used internally within the SDK's EventStream handling. +func (e *StartLiveTailResponseStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return nil +} + type StartQueryInput struct { _ struct{} `type:"structure"` diff --git a/service/cloudwatchlogs/cloudwatchlogsiface/interface.go b/service/cloudwatchlogs/cloudwatchlogsiface/interface.go index 8632a596754..d285cbadf3b 100644 --- a/service/cloudwatchlogs/cloudwatchlogsiface/interface.go +++ b/service/cloudwatchlogs/cloudwatchlogsiface/interface.go @@ -352,6 +352,10 @@ type CloudWatchLogsAPI interface { PutSubscriptionFilterWithContext(aws.Context, *cloudwatchlogs.PutSubscriptionFilterInput, ...request.Option) (*cloudwatchlogs.PutSubscriptionFilterOutput, error) PutSubscriptionFilterRequest(*cloudwatchlogs.PutSubscriptionFilterInput) (*request.Request, *cloudwatchlogs.PutSubscriptionFilterOutput) + StartLiveTail(*cloudwatchlogs.StartLiveTailInput) (*cloudwatchlogs.StartLiveTailOutput, error) + StartLiveTailWithContext(aws.Context, *cloudwatchlogs.StartLiveTailInput, ...request.Option) (*cloudwatchlogs.StartLiveTailOutput, error) + StartLiveTailRequest(*cloudwatchlogs.StartLiveTailInput) (*request.Request, *cloudwatchlogs.StartLiveTailOutput) + StartQuery(*cloudwatchlogs.StartQueryInput) (*cloudwatchlogs.StartQueryOutput, error) StartQueryWithContext(aws.Context, *cloudwatchlogs.StartQueryInput, ...request.Option) (*cloudwatchlogs.StartQueryOutput, error) StartQueryRequest(*cloudwatchlogs.StartQueryInput) (*request.Request, *cloudwatchlogs.StartQueryOutput) diff --git a/service/cloudwatchlogs/errors.go b/service/cloudwatchlogs/errors.go index b9244c6a6c3..4c4ff1b5517 100644 --- a/service/cloudwatchlogs/errors.go +++ b/service/cloudwatchlogs/errors.go @@ -97,6 +97,19 @@ const ( // The service cannot complete the request. ErrCodeServiceUnavailableException = "ServiceUnavailableException" + // ErrCodeSessionStreamingException for service response error code + // "SessionStreamingException". + // + // his exception is returned if an unknown error occurs during a Live Tail session. + ErrCodeSessionStreamingException = "SessionStreamingException" + + // ErrCodeSessionTimeoutException for service response error code + // "SessionTimeoutException". + // + // This exception is returned in a Live Tail stream when the Live Tail session + // times out. Live Tail sessions time out after three hours. + ErrCodeSessionTimeoutException = "SessionTimeoutException" + // ErrCodeThrottlingException for service response error code // "ThrottlingException". // @@ -137,6 +150,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "ServiceUnavailableException": newErrorServiceUnavailableException, + "SessionStreamingException": newErrorSessionStreamingException, + "SessionTimeoutException": newErrorSessionTimeoutException, "ThrottlingException": newErrorThrottlingException, "TooManyTagsException": newErrorTooManyTagsException, "UnrecognizedClientException": newErrorUnrecognizedClientException, diff --git a/service/cloudwatchlogs/service.go b/service/cloudwatchlogs/service.go index fe5dd28c263..d6d00aeb49c 100644 --- a/service/cloudwatchlogs/service.go +++ b/service/cloudwatchlogs/service.go @@ -87,6 +87,9 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), ) + svc.Handlers.BuildStream.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.UnmarshalStream.PushBackNamed(jsonrpc.UnmarshalHandler) + // Run custom client initialization if present if initClient != nil { initClient(svc.Client) diff --git a/service/imagebuilder/api.go b/service/imagebuilder/api.go index 5bceb2dff59..1c240ac6de0 100644 --- a/service/imagebuilder/api.go +++ b/service/imagebuilder/api.go @@ -1136,6 +1136,121 @@ func (c *Imagebuilder) CreateLifecyclePolicyWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateWorkflow = "CreateWorkflow" + +// CreateWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkflow 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 CreateWorkflow for more information on using the CreateWorkflow +// 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 CreateWorkflowRequest method. +// req, resp := client.CreateWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateWorkflow +func (c *Imagebuilder) CreateWorkflowRequest(input *CreateWorkflowInput) (req *request.Request, output *CreateWorkflowOutput) { + op := &request.Operation{ + Name: opCreateWorkflow, + HTTPMethod: "PUT", + HTTPPath: "/CreateWorkflow", + } + + if input == nil { + input = &CreateWorkflowInput{} + } + + output = &CreateWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkflow API operation for EC2 Image Builder. +// +// Create a new workflow or a new version of an existing workflow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for EC2 Image Builder's +// API operation CreateWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - IdempotentParameterMismatchException +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - InvalidVersionNumberException +// Your version number is out of bounds or does not follow the required syntax. +// +// - ResourceInUseException +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +// +// - InvalidParameterCombinationException +// You have specified two or more mutually exclusive parameters. Review the +// error message for details. +// +// - ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateWorkflow +func (c *Imagebuilder) CreateWorkflow(input *CreateWorkflowInput) (*CreateWorkflowOutput, error) { + req, out := c.CreateWorkflowRequest(input) + return out, req.Send() +} + +// CreateWorkflowWithContext is the same as CreateWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkflow 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 *Imagebuilder) CreateWorkflowWithContext(ctx aws.Context, input *CreateWorkflowInput, opts ...request.Option) (*CreateWorkflowOutput, error) { + req, out := c.CreateWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteComponent = "DeleteComponent" // DeleteComponentRequest generates a "aws/request.Request" representing the @@ -1948,6 +2063,106 @@ func (c *Imagebuilder) DeleteLifecyclePolicyWithContext(ctx aws.Context, input * return out, req.Send() } +const opDeleteWorkflow = "DeleteWorkflow" + +// DeleteWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkflow 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 DeleteWorkflow for more information on using the DeleteWorkflow +// 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 DeleteWorkflowRequest method. +// req, resp := client.DeleteWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteWorkflow +func (c *Imagebuilder) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *request.Request, output *DeleteWorkflowOutput) { + op := &request.Operation{ + Name: opDeleteWorkflow, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteWorkflow", + } + + if input == nil { + input = &DeleteWorkflowInput{} + } + + output = &DeleteWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteWorkflow API operation for EC2 Image Builder. +// +// Deletes a specific workflow resource. +// +// 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 EC2 Image Builder's +// API operation DeleteWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - ResourceDependencyException +// You have attempted to mutate or delete a resource with a dependency that +// prohibits this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteWorkflow +func (c *Imagebuilder) DeleteWorkflow(input *DeleteWorkflowInput) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) + return out, req.Send() +} + +// DeleteWorkflowWithContext is the same as DeleteWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkflow 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 *Imagebuilder) DeleteWorkflowWithContext(ctx aws.Context, input *DeleteWorkflowInput, opts ...request.Option) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetComponent = "GetComponent" // GetComponentRequest generates a "aws/request.Request" representing the @@ -3189,6 +3404,102 @@ func (c *Imagebuilder) GetLifecyclePolicyWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetWorkflow = "GetWorkflow" + +// GetWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkflow 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 GetWorkflow for more information on using the GetWorkflow +// 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 GetWorkflowRequest method. +// req, resp := client.GetWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetWorkflow +func (c *Imagebuilder) GetWorkflowRequest(input *GetWorkflowInput) (req *request.Request, output *GetWorkflowOutput) { + op := &request.Operation{ + Name: opGetWorkflow, + HTTPMethod: "GET", + HTTPPath: "/GetWorkflow", + } + + if input == nil { + input = &GetWorkflowInput{} + } + + output = &GetWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWorkflow API operation for EC2 Image Builder. +// +// Get a workflow resource object. +// +// 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 EC2 Image Builder's +// API operation GetWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetWorkflow +func (c *Imagebuilder) GetWorkflow(input *GetWorkflowInput) (*GetWorkflowOutput, error) { + req, out := c.GetWorkflowRequest(input) + return out, req.Send() +} + +// GetWorkflowWithContext is the same as GetWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkflow 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 *Imagebuilder) GetWorkflowWithContext(ctx aws.Context, input *GetWorkflowInput, opts ...request.Option) (*GetWorkflowOutput, error) { + req, out := c.GetWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetWorkflowExecution = "GetWorkflowExecution" // GetWorkflowExecutionRequest generates a "aws/request.Request" representing the @@ -6212,36 +6523,36 @@ func (c *Imagebuilder) ListTagsForResourceWithContext(ctx aws.Context, input *Li return out, req.Send() } -const opListWorkflowExecutions = "ListWorkflowExecutions" +const opListWaitingWorkflowSteps = "ListWaitingWorkflowSteps" -// ListWorkflowExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkflowExecutions operation. The "output" return +// ListWaitingWorkflowStepsRequest generates a "aws/request.Request" representing the +// client's request for the ListWaitingWorkflowSteps 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 ListWorkflowExecutions for more information on using the ListWorkflowExecutions +// See ListWaitingWorkflowSteps for more information on using the ListWaitingWorkflowSteps // 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 ListWorkflowExecutionsRequest method. -// req, resp := client.ListWorkflowExecutionsRequest(params) +// // Example sending a request using the ListWaitingWorkflowStepsRequest method. +// req, resp := client.ListWaitingWorkflowStepsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowExecutions -func (c *Imagebuilder) ListWorkflowExecutionsRequest(input *ListWorkflowExecutionsInput) (req *request.Request, output *ListWorkflowExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWaitingWorkflowSteps +func (c *Imagebuilder) ListWaitingWorkflowStepsRequest(input *ListWaitingWorkflowStepsInput) (req *request.Request, output *ListWaitingWorkflowStepsOutput) { op := &request.Operation{ - Name: opListWorkflowExecutions, + Name: opListWaitingWorkflowSteps, HTTPMethod: "POST", - HTTPPath: "/ListWorkflowExecutions", + HTTPPath: "/ListWaitingWorkflowSteps", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6251,25 +6562,25 @@ func (c *Imagebuilder) ListWorkflowExecutionsRequest(input *ListWorkflowExecutio } if input == nil { - input = &ListWorkflowExecutionsInput{} + input = &ListWaitingWorkflowStepsInput{} } - output = &ListWorkflowExecutionsOutput{} + output = &ListWaitingWorkflowStepsOutput{} req = c.newRequest(op, input, output) return } -// ListWorkflowExecutions API operation for EC2 Image Builder. +// ListWaitingWorkflowSteps API operation for EC2 Image Builder. // -// Returns a list of workflow runtime instance metadata objects for a specific -// image build version. +// Get a list of workflow steps that are waiting for action for workflows in +// your Amazon Web Services account. // // 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 EC2 Image Builder's -// API operation ListWorkflowExecutions for usage and error information. +// API operation ListWaitingWorkflowSteps for usage and error information. // // Returned Error Types: // @@ -6296,64 +6607,64 @@ func (c *Imagebuilder) ListWorkflowExecutionsRequest(input *ListWorkflowExecutio // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowExecutions -func (c *Imagebuilder) ListWorkflowExecutions(input *ListWorkflowExecutionsInput) (*ListWorkflowExecutionsOutput, error) { - req, out := c.ListWorkflowExecutionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWaitingWorkflowSteps +func (c *Imagebuilder) ListWaitingWorkflowSteps(input *ListWaitingWorkflowStepsInput) (*ListWaitingWorkflowStepsOutput, error) { + req, out := c.ListWaitingWorkflowStepsRequest(input) return out, req.Send() } -// ListWorkflowExecutionsWithContext is the same as ListWorkflowExecutions with the addition of +// ListWaitingWorkflowStepsWithContext is the same as ListWaitingWorkflowSteps with the addition of // the ability to pass a context and additional request options. // -// See ListWorkflowExecutions for details on how to use this API operation. +// See ListWaitingWorkflowSteps 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 *Imagebuilder) ListWorkflowExecutionsWithContext(ctx aws.Context, input *ListWorkflowExecutionsInput, opts ...request.Option) (*ListWorkflowExecutionsOutput, error) { - req, out := c.ListWorkflowExecutionsRequest(input) +func (c *Imagebuilder) ListWaitingWorkflowStepsWithContext(ctx aws.Context, input *ListWaitingWorkflowStepsInput, opts ...request.Option) (*ListWaitingWorkflowStepsOutput, error) { + req, out := c.ListWaitingWorkflowStepsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListWorkflowExecutionsPages iterates over the pages of a ListWorkflowExecutions operation, +// ListWaitingWorkflowStepsPages iterates over the pages of a ListWaitingWorkflowSteps operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListWorkflowExecutions method for more information on how to use this operation. +// See ListWaitingWorkflowSteps 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 ListWorkflowExecutions operation. +// // Example iterating over at most 3 pages of a ListWaitingWorkflowSteps operation. // pageNum := 0 -// err := client.ListWorkflowExecutionsPages(params, -// func(page *imagebuilder.ListWorkflowExecutionsOutput, lastPage bool) bool { +// err := client.ListWaitingWorkflowStepsPages(params, +// func(page *imagebuilder.ListWaitingWorkflowStepsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Imagebuilder) ListWorkflowExecutionsPages(input *ListWorkflowExecutionsInput, fn func(*ListWorkflowExecutionsOutput, bool) bool) error { - return c.ListWorkflowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Imagebuilder) ListWaitingWorkflowStepsPages(input *ListWaitingWorkflowStepsInput, fn func(*ListWaitingWorkflowStepsOutput, bool) bool) error { + return c.ListWaitingWorkflowStepsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListWorkflowExecutionsPagesWithContext same as ListWorkflowExecutionsPages except +// ListWaitingWorkflowStepsPagesWithContext same as ListWaitingWorkflowStepsPages 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 *Imagebuilder) ListWorkflowExecutionsPagesWithContext(ctx aws.Context, input *ListWorkflowExecutionsInput, fn func(*ListWorkflowExecutionsOutput, bool) bool, opts ...request.Option) error { +func (c *Imagebuilder) ListWaitingWorkflowStepsPagesWithContext(ctx aws.Context, input *ListWaitingWorkflowStepsInput, fn func(*ListWaitingWorkflowStepsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListWorkflowExecutionsInput + var inCpy *ListWaitingWorkflowStepsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListWorkflowExecutionsRequest(inCpy) + req, _ := c.ListWaitingWorkflowStepsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6361,7 +6672,7 @@ func (c *Imagebuilder) ListWorkflowExecutionsPagesWithContext(ctx aws.Context, i } for p.Next() { - if !fn(p.Page().(*ListWorkflowExecutionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListWaitingWorkflowStepsOutput), !p.HasNextPage()) { break } } @@ -6369,36 +6680,36 @@ func (c *Imagebuilder) ListWorkflowExecutionsPagesWithContext(ctx aws.Context, i return p.Err() } -const opListWorkflowStepExecutions = "ListWorkflowStepExecutions" +const opListWorkflowBuildVersions = "ListWorkflowBuildVersions" -// ListWorkflowStepExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkflowStepExecutions operation. The "output" return +// ListWorkflowBuildVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflowBuildVersions 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 ListWorkflowStepExecutions for more information on using the ListWorkflowStepExecutions +// See ListWorkflowBuildVersions for more information on using the ListWorkflowBuildVersions // 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 ListWorkflowStepExecutionsRequest method. -// req, resp := client.ListWorkflowStepExecutionsRequest(params) +// // Example sending a request using the ListWorkflowBuildVersionsRequest method. +// req, resp := client.ListWorkflowBuildVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowStepExecutions -func (c *Imagebuilder) ListWorkflowStepExecutionsRequest(input *ListWorkflowStepExecutionsInput) (req *request.Request, output *ListWorkflowStepExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowBuildVersions +func (c *Imagebuilder) ListWorkflowBuildVersionsRequest(input *ListWorkflowBuildVersionsInput) (req *request.Request, output *ListWorkflowBuildVersionsOutput) { op := &request.Operation{ - Name: opListWorkflowStepExecutions, + Name: opListWorkflowBuildVersions, HTTPMethod: "POST", - HTTPPath: "/ListWorkflowStepExecutions", + HTTPPath: "/ListWorkflowBuildVersions", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -6408,25 +6719,24 @@ func (c *Imagebuilder) ListWorkflowStepExecutionsRequest(input *ListWorkflowStep } if input == nil { - input = &ListWorkflowStepExecutionsInput{} + input = &ListWorkflowBuildVersionsInput{} } - output = &ListWorkflowStepExecutionsOutput{} + output = &ListWorkflowBuildVersionsOutput{} req = c.newRequest(op, input, output) return } -// ListWorkflowStepExecutions API operation for EC2 Image Builder. +// ListWorkflowBuildVersions API operation for EC2 Image Builder. // -// Shows runtime data for each step in a runtime instance of the workflow that -// you specify in the request. +// Returns a list of build versions for a specific workflow resource. // // 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 EC2 Image Builder's -// API operation ListWorkflowStepExecutions for usage and error information. +// API operation ListWorkflowBuildVersions for usage and error information. // // Returned Error Types: // @@ -6453,64 +6763,64 @@ func (c *Imagebuilder) ListWorkflowStepExecutionsRequest(input *ListWorkflowStep // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowStepExecutions -func (c *Imagebuilder) ListWorkflowStepExecutions(input *ListWorkflowStepExecutionsInput) (*ListWorkflowStepExecutionsOutput, error) { - req, out := c.ListWorkflowStepExecutionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowBuildVersions +func (c *Imagebuilder) ListWorkflowBuildVersions(input *ListWorkflowBuildVersionsInput) (*ListWorkflowBuildVersionsOutput, error) { + req, out := c.ListWorkflowBuildVersionsRequest(input) return out, req.Send() } -// ListWorkflowStepExecutionsWithContext is the same as ListWorkflowStepExecutions with the addition of +// ListWorkflowBuildVersionsWithContext is the same as ListWorkflowBuildVersions with the addition of // the ability to pass a context and additional request options. // -// See ListWorkflowStepExecutions for details on how to use this API operation. +// See ListWorkflowBuildVersions 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 *Imagebuilder) ListWorkflowStepExecutionsWithContext(ctx aws.Context, input *ListWorkflowStepExecutionsInput, opts ...request.Option) (*ListWorkflowStepExecutionsOutput, error) { - req, out := c.ListWorkflowStepExecutionsRequest(input) +func (c *Imagebuilder) ListWorkflowBuildVersionsWithContext(ctx aws.Context, input *ListWorkflowBuildVersionsInput, opts ...request.Option) (*ListWorkflowBuildVersionsOutput, error) { + req, out := c.ListWorkflowBuildVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListWorkflowStepExecutionsPages iterates over the pages of a ListWorkflowStepExecutions operation, +// ListWorkflowBuildVersionsPages iterates over the pages of a ListWorkflowBuildVersions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListWorkflowStepExecutions method for more information on how to use this operation. +// See ListWorkflowBuildVersions 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 ListWorkflowStepExecutions operation. +// // Example iterating over at most 3 pages of a ListWorkflowBuildVersions operation. // pageNum := 0 -// err := client.ListWorkflowStepExecutionsPages(params, -// func(page *imagebuilder.ListWorkflowStepExecutionsOutput, lastPage bool) bool { +// err := client.ListWorkflowBuildVersionsPages(params, +// func(page *imagebuilder.ListWorkflowBuildVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Imagebuilder) ListWorkflowStepExecutionsPages(input *ListWorkflowStepExecutionsInput, fn func(*ListWorkflowStepExecutionsOutput, bool) bool) error { - return c.ListWorkflowStepExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Imagebuilder) ListWorkflowBuildVersionsPages(input *ListWorkflowBuildVersionsInput, fn func(*ListWorkflowBuildVersionsOutput, bool) bool) error { + return c.ListWorkflowBuildVersionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListWorkflowStepExecutionsPagesWithContext same as ListWorkflowStepExecutionsPages except +// ListWorkflowBuildVersionsPagesWithContext same as ListWorkflowBuildVersionsPages 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 *Imagebuilder) ListWorkflowStepExecutionsPagesWithContext(ctx aws.Context, input *ListWorkflowStepExecutionsInput, fn func(*ListWorkflowStepExecutionsOutput, bool) bool, opts ...request.Option) error { +func (c *Imagebuilder) ListWorkflowBuildVersionsPagesWithContext(ctx aws.Context, input *ListWorkflowBuildVersionsInput, fn func(*ListWorkflowBuildVersionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListWorkflowStepExecutionsInput + var inCpy *ListWorkflowBuildVersionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListWorkflowStepExecutionsRequest(inCpy) + req, _ := c.ListWorkflowBuildVersionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -6518,7 +6828,7 @@ func (c *Imagebuilder) ListWorkflowStepExecutionsPagesWithContext(ctx aws.Contex } for p.Next() { - if !fn(p.Page().(*ListWorkflowStepExecutionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListWorkflowBuildVersionsOutput), !p.HasNextPage()) { break } } @@ -6526,62 +6836,64 @@ func (c *Imagebuilder) ListWorkflowStepExecutionsPagesWithContext(ctx aws.Contex return p.Err() } -const opPutComponentPolicy = "PutComponentPolicy" +const opListWorkflowExecutions = "ListWorkflowExecutions" -// PutComponentPolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutComponentPolicy operation. The "output" return +// ListWorkflowExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflowExecutions 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 PutComponentPolicy for more information on using the PutComponentPolicy +// See ListWorkflowExecutions for more information on using the ListWorkflowExecutions // 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 PutComponentPolicyRequest method. -// req, resp := client.PutComponentPolicyRequest(params) +// // Example sending a request using the ListWorkflowExecutionsRequest method. +// req, resp := client.ListWorkflowExecutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy -func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) (req *request.Request, output *PutComponentPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowExecutions +func (c *Imagebuilder) ListWorkflowExecutionsRequest(input *ListWorkflowExecutionsInput) (req *request.Request, output *ListWorkflowExecutionsOutput) { op := &request.Operation{ - Name: opPutComponentPolicy, - HTTPMethod: "PUT", - HTTPPath: "/PutComponentPolicy", + Name: opListWorkflowExecutions, + HTTPMethod: "POST", + HTTPPath: "/ListWorkflowExecutions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutComponentPolicyInput{} + input = &ListWorkflowExecutionsInput{} } - output = &PutComponentPolicyOutput{} + output = &ListWorkflowExecutionsOutput{} req = c.newRequest(op, input, output) return } -// PutComponentPolicy API operation for EC2 Image Builder. +// ListWorkflowExecutions API operation for EC2 Image Builder. // -// Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare -// (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) -// to share resources. If you call the Image Builder API PutComponentPolicy, -// you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) -// in order for the resource to be visible to all principals with whom the resource -// is shared. +// Returns a list of workflow runtime instance metadata objects for a specific +// image build version. // // 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 EC2 Image Builder's -// API operation PutComponentPolicy for usage and error information. +// API operation ListWorkflowExecutions for usage and error information. // // Returned Error Types: // @@ -6599,11 +6911,8 @@ func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) // - InvalidRequestException // You have requested an action that that the service doesn't support. // -// - InvalidParameterValueException -// The value that you provided for the specified parameter is invalid. -// -// - ResourceNotFoundException -// At least one of the resources referenced by your request does not exist. +// - InvalidPaginationTokenException +// You have provided an invalid pagination token in your request. // // - ForbiddenException // You are not authorized to perform the requested operation. @@ -6611,84 +6920,137 @@ func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy -func (c *Imagebuilder) PutComponentPolicy(input *PutComponentPolicyInput) (*PutComponentPolicyOutput, error) { - req, out := c.PutComponentPolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowExecutions +func (c *Imagebuilder) ListWorkflowExecutions(input *ListWorkflowExecutionsInput) (*ListWorkflowExecutionsOutput, error) { + req, out := c.ListWorkflowExecutionsRequest(input) return out, req.Send() } -// PutComponentPolicyWithContext is the same as PutComponentPolicy with the addition of +// ListWorkflowExecutionsWithContext is the same as ListWorkflowExecutions with the addition of // the ability to pass a context and additional request options. // -// See PutComponentPolicy for details on how to use this API operation. +// See ListWorkflowExecutions 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 *Imagebuilder) PutComponentPolicyWithContext(ctx aws.Context, input *PutComponentPolicyInput, opts ...request.Option) (*PutComponentPolicyOutput, error) { - req, out := c.PutComponentPolicyRequest(input) +func (c *Imagebuilder) ListWorkflowExecutionsWithContext(ctx aws.Context, input *ListWorkflowExecutionsInput, opts ...request.Option) (*ListWorkflowExecutionsOutput, error) { + req, out := c.ListWorkflowExecutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutContainerRecipePolicy = "PutContainerRecipePolicy" +// ListWorkflowExecutionsPages iterates over the pages of a ListWorkflowExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflowExecutions 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 ListWorkflowExecutions operation. +// pageNum := 0 +// err := client.ListWorkflowExecutionsPages(params, +// func(page *imagebuilder.ListWorkflowExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Imagebuilder) ListWorkflowExecutionsPages(input *ListWorkflowExecutionsInput, fn func(*ListWorkflowExecutionsOutput, bool) bool) error { + return c.ListWorkflowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutContainerRecipePolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutContainerRecipePolicy operation. The "output" return +// ListWorkflowExecutionsPagesWithContext same as ListWorkflowExecutionsPages 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 *Imagebuilder) ListWorkflowExecutionsPagesWithContext(ctx aws.Context, input *ListWorkflowExecutionsInput, fn func(*ListWorkflowExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflowStepExecutions = "ListWorkflowStepExecutions" + +// ListWorkflowStepExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflowStepExecutions 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 PutContainerRecipePolicy for more information on using the PutContainerRecipePolicy +// See ListWorkflowStepExecutions for more information on using the ListWorkflowStepExecutions // 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 PutContainerRecipePolicyRequest method. -// req, resp := client.PutContainerRecipePolicyRequest(params) +// // Example sending a request using the ListWorkflowStepExecutionsRequest method. +// req, resp := client.ListWorkflowStepExecutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy -func (c *Imagebuilder) PutContainerRecipePolicyRequest(input *PutContainerRecipePolicyInput) (req *request.Request, output *PutContainerRecipePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowStepExecutions +func (c *Imagebuilder) ListWorkflowStepExecutionsRequest(input *ListWorkflowStepExecutionsInput) (req *request.Request, output *ListWorkflowStepExecutionsOutput) { op := &request.Operation{ - Name: opPutContainerRecipePolicy, - HTTPMethod: "PUT", - HTTPPath: "/PutContainerRecipePolicy", + Name: opListWorkflowStepExecutions, + HTTPMethod: "POST", + HTTPPath: "/ListWorkflowStepExecutions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutContainerRecipePolicyInput{} + input = &ListWorkflowStepExecutionsInput{} } - output = &PutContainerRecipePolicyOutput{} + output = &ListWorkflowStepExecutionsOutput{} req = c.newRequest(op, input, output) return } -// PutContainerRecipePolicy API operation for EC2 Image Builder. +// ListWorkflowStepExecutions API operation for EC2 Image Builder. // -// Applies a policy to a container image. We recommend that you call the RAM -// API CreateResourceShare (https://docs.aws.amazon.com//ram/latest/APIReference/API_CreateResourceShare.html) -// to share resources. If you call the Image Builder API PutContainerImagePolicy, -// you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com//ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) -// in order for the resource to be visible to all principals with whom the resource -// is shared. +// Returns runtime data for each step in a runtime instance of the workflow +// that you specify in the request. // // 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 EC2 Image Builder's -// API operation PutContainerRecipePolicy for usage and error information. +// API operation ListWorkflowStepExecutions for usage and error information. // // Returned Error Types: // @@ -6706,11 +7068,8 @@ func (c *Imagebuilder) PutContainerRecipePolicyRequest(input *PutContainerRecipe // - InvalidRequestException // You have requested an action that that the service doesn't support. // -// - InvalidParameterValueException -// The value that you provided for the specified parameter is invalid. -// -// - ResourceNotFoundException -// At least one of the resources referenced by your request does not exist. +// - InvalidPaginationTokenException +// You have provided an invalid pagination token in your request. // // - ForbiddenException // You are not authorized to perform the requested operation. @@ -6718,84 +7077,136 @@ func (c *Imagebuilder) PutContainerRecipePolicyRequest(input *PutContainerRecipe // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy -func (c *Imagebuilder) PutContainerRecipePolicy(input *PutContainerRecipePolicyInput) (*PutContainerRecipePolicyOutput, error) { - req, out := c.PutContainerRecipePolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflowStepExecutions +func (c *Imagebuilder) ListWorkflowStepExecutions(input *ListWorkflowStepExecutionsInput) (*ListWorkflowStepExecutionsOutput, error) { + req, out := c.ListWorkflowStepExecutionsRequest(input) return out, req.Send() } -// PutContainerRecipePolicyWithContext is the same as PutContainerRecipePolicy with the addition of +// ListWorkflowStepExecutionsWithContext is the same as ListWorkflowStepExecutions with the addition of // the ability to pass a context and additional request options. // -// See PutContainerRecipePolicy for details on how to use this API operation. +// See ListWorkflowStepExecutions 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 *Imagebuilder) PutContainerRecipePolicyWithContext(ctx aws.Context, input *PutContainerRecipePolicyInput, opts ...request.Option) (*PutContainerRecipePolicyOutput, error) { - req, out := c.PutContainerRecipePolicyRequest(input) +func (c *Imagebuilder) ListWorkflowStepExecutionsWithContext(ctx aws.Context, input *ListWorkflowStepExecutionsInput, opts ...request.Option) (*ListWorkflowStepExecutionsOutput, error) { + req, out := c.ListWorkflowStepExecutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutImagePolicy = "PutImagePolicy" - -// PutImagePolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutImagePolicy 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. +// ListWorkflowStepExecutionsPages iterates over the pages of a ListWorkflowStepExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// See PutImagePolicy for more information on using the PutImagePolicy -// API call, and error handling. +// See ListWorkflowStepExecutions method for more information on how to use this operation. // -// 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. +// Note: This operation can generate multiple requests to a service. // -// // Example sending a request using the PutImagePolicyRequest method. -// req, resp := client.PutImagePolicyRequest(params) +// // Example iterating over at most 3 pages of a ListWorkflowStepExecutions operation. +// pageNum := 0 +// err := client.ListWorkflowStepExecutionsPages(params, +// func(page *imagebuilder.ListWorkflowStepExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Imagebuilder) ListWorkflowStepExecutionsPages(input *ListWorkflowStepExecutionsInput, fn func(*ListWorkflowStepExecutionsOutput, bool) bool) error { + return c.ListWorkflowStepExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkflowStepExecutionsPagesWithContext same as ListWorkflowStepExecutionsPages 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 *Imagebuilder) ListWorkflowStepExecutionsPagesWithContext(ctx aws.Context, input *ListWorkflowStepExecutionsInput, fn func(*ListWorkflowStepExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowStepExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowStepExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowStepExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflows = "ListWorkflows" + +// ListWorkflowsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflows 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 ListWorkflows for more information on using the ListWorkflows +// 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 ListWorkflowsRequest method. +// req, resp := client.ListWorkflowsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy -func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *request.Request, output *PutImagePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflows +func (c *Imagebuilder) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request.Request, output *ListWorkflowsOutput) { op := &request.Operation{ - Name: opPutImagePolicy, - HTTPMethod: "PUT", - HTTPPath: "/PutImagePolicy", + Name: opListWorkflows, + HTTPMethod: "POST", + HTTPPath: "/ListWorkflows", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &PutImagePolicyInput{} + input = &ListWorkflowsInput{} } - output = &PutImagePolicyOutput{} + output = &ListWorkflowsOutput{} req = c.newRequest(op, input, output) return } -// PutImagePolicy API operation for EC2 Image Builder. +// ListWorkflows API operation for EC2 Image Builder. // -// Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare -// (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) -// to share resources. If you call the Image Builder API PutImagePolicy, you -// must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) -// in order for the resource to be visible to all principals with whom the resource -// is shared. +// Lists workflow build versions based on filtering 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 EC2 Image Builder's -// API operation PutImagePolicy for usage and error information. +// API operation ListWorkflows for usage and error information. // // Returned Error Types: // @@ -6813,11 +7224,8 @@ func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *r // - InvalidRequestException // You have requested an action that that the service doesn't support. // -// - InvalidParameterValueException -// The value that you provided for the specified parameter is invalid. -// -// - ResourceNotFoundException -// At least one of the resources referenced by your request does not exist. +// - InvalidPaginationTokenException +// You have provided an invalid pagination token in your request. // // - ForbiddenException // You are not authorized to perform the requested operation. @@ -6825,74 +7233,125 @@ func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *r // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy -func (c *Imagebuilder) PutImagePolicy(input *PutImagePolicyInput) (*PutImagePolicyOutput, error) { - req, out := c.PutImagePolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListWorkflows +func (c *Imagebuilder) ListWorkflows(input *ListWorkflowsInput) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) return out, req.Send() } -// PutImagePolicyWithContext is the same as PutImagePolicy with the addition of +// ListWorkflowsWithContext is the same as ListWorkflows with the addition of // the ability to pass a context and additional request options. // -// See PutImagePolicy for details on how to use this API operation. +// See ListWorkflows 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 *Imagebuilder) PutImagePolicyWithContext(ctx aws.Context, input *PutImagePolicyInput, opts ...request.Option) (*PutImagePolicyOutput, error) { - req, out := c.PutImagePolicyRequest(input) +func (c *Imagebuilder) ListWorkflowsWithContext(ctx aws.Context, input *ListWorkflowsInput, opts ...request.Option) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutImageRecipePolicy = "PutImageRecipePolicy" +// ListWorkflowsPages iterates over the pages of a ListWorkflows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflows 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 ListWorkflows operation. +// pageNum := 0 +// err := client.ListWorkflowsPages(params, +// func(page *imagebuilder.ListWorkflowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Imagebuilder) ListWorkflowsPages(input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool) error { + return c.ListWorkflowsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutImageRecipePolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutImageRecipePolicy operation. The "output" return +// ListWorkflowsPagesWithContext same as ListWorkflowsPages 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 *Imagebuilder) ListWorkflowsPagesWithContext(ctx aws.Context, input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutComponentPolicy = "PutComponentPolicy" + +// PutComponentPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutComponentPolicy 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 PutImageRecipePolicy for more information on using the PutImageRecipePolicy +// See PutComponentPolicy for more information on using the PutComponentPolicy // 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 PutImageRecipePolicyRequest method. -// req, resp := client.PutImageRecipePolicyRequest(params) +// // Example sending a request using the PutComponentPolicyRequest method. +// req, resp := client.PutComponentPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy -func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyInput) (req *request.Request, output *PutImageRecipePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy +func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) (req *request.Request, output *PutComponentPolicyOutput) { op := &request.Operation{ - Name: opPutImageRecipePolicy, + Name: opPutComponentPolicy, HTTPMethod: "PUT", - HTTPPath: "/PutImageRecipePolicy", + HTTPPath: "/PutComponentPolicy", } if input == nil { - input = &PutImageRecipePolicyInput{} + input = &PutComponentPolicyInput{} } - output = &PutImageRecipePolicyOutput{} + output = &PutComponentPolicyOutput{} req = c.newRequest(op, input, output) return } -// PutImageRecipePolicy API operation for EC2 Image Builder. +// PutComponentPolicy API operation for EC2 Image Builder. // -// Applies a policy to an image recipe. We recommend that you call the RAM API -// CreateResourceShare (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) -// to share resources. If you call the Image Builder API PutImageRecipePolicy, +// Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare +// (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) +// to share resources. If you call the Image Builder API PutComponentPolicy, // you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) // in order for the resource to be visible to all principals with whom the resource // is shared. @@ -6902,7 +7361,7 @@ func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyIn // the error. // // See the AWS API reference guide for EC2 Image Builder's -// API operation PutImageRecipePolicy for usage and error information. +// API operation PutComponentPolicy for usage and error information. // // Returned Error Types: // @@ -6932,79 +7391,84 @@ func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyIn // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy -func (c *Imagebuilder) PutImageRecipePolicy(input *PutImageRecipePolicyInput) (*PutImageRecipePolicyOutput, error) { - req, out := c.PutImageRecipePolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy +func (c *Imagebuilder) PutComponentPolicy(input *PutComponentPolicyInput) (*PutComponentPolicyOutput, error) { + req, out := c.PutComponentPolicyRequest(input) return out, req.Send() } -// PutImageRecipePolicyWithContext is the same as PutImageRecipePolicy with the addition of +// PutComponentPolicyWithContext is the same as PutComponentPolicy with the addition of // the ability to pass a context and additional request options. // -// See PutImageRecipePolicy for details on how to use this API operation. +// See PutComponentPolicy 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 *Imagebuilder) PutImageRecipePolicyWithContext(ctx aws.Context, input *PutImageRecipePolicyInput, opts ...request.Option) (*PutImageRecipePolicyOutput, error) { - req, out := c.PutImageRecipePolicyRequest(input) +func (c *Imagebuilder) PutComponentPolicyWithContext(ctx aws.Context, input *PutComponentPolicyInput, opts ...request.Option) (*PutComponentPolicyOutput, error) { + req, out := c.PutComponentPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartImagePipelineExecution = "StartImagePipelineExecution" +const opPutContainerRecipePolicy = "PutContainerRecipePolicy" -// StartImagePipelineExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StartImagePipelineExecution operation. The "output" return +// PutContainerRecipePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutContainerRecipePolicy 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 StartImagePipelineExecution for more information on using the StartImagePipelineExecution +// See PutContainerRecipePolicy for more information on using the PutContainerRecipePolicy // 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 StartImagePipelineExecutionRequest method. -// req, resp := client.StartImagePipelineExecutionRequest(params) +// // Example sending a request using the PutContainerRecipePolicyRequest method. +// req, resp := client.PutContainerRecipePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution -func (c *Imagebuilder) StartImagePipelineExecutionRequest(input *StartImagePipelineExecutionInput) (req *request.Request, output *StartImagePipelineExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy +func (c *Imagebuilder) PutContainerRecipePolicyRequest(input *PutContainerRecipePolicyInput) (req *request.Request, output *PutContainerRecipePolicyOutput) { op := &request.Operation{ - Name: opStartImagePipelineExecution, + Name: opPutContainerRecipePolicy, HTTPMethod: "PUT", - HTTPPath: "/StartImagePipelineExecution", + HTTPPath: "/PutContainerRecipePolicy", } if input == nil { - input = &StartImagePipelineExecutionInput{} + input = &PutContainerRecipePolicyInput{} } - output = &StartImagePipelineExecutionOutput{} + output = &PutContainerRecipePolicyOutput{} req = c.newRequest(op, input, output) return } -// StartImagePipelineExecution API operation for EC2 Image Builder. +// PutContainerRecipePolicy API operation for EC2 Image Builder. // -// Manually triggers a pipeline to create an image. +// Applies a policy to a container image. We recommend that you call the RAM +// API CreateResourceShare (https://docs.aws.amazon.com//ram/latest/APIReference/API_CreateResourceShare.html) +// to share resources. If you call the Image Builder API PutContainerImagePolicy, +// you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com//ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) +// in order for the resource to be visible to all principals with whom the resource +// is shared. // // 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 EC2 Image Builder's -// API operation StartImagePipelineExecution for usage and error information. +// API operation PutContainerRecipePolicy for usage and error information. // // Returned Error Types: // @@ -7022,97 +7486,96 @@ func (c *Imagebuilder) StartImagePipelineExecutionRequest(input *StartImagePipel // - InvalidRequestException // You have requested an action that that the service doesn't support. // +// - InvalidParameterValueException +// The value that you provided for the specified parameter is invalid. +// // - ResourceNotFoundException // At least one of the resources referenced by your request does not exist. // -// - IdempotentParameterMismatchException -// You have specified a client token for an operation using parameter values -// that differ from a previous request that used the same client token. -// // - ForbiddenException // You are not authorized to perform the requested operation. // // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// - ResourceInUseException -// The resource that you are trying to operate on is currently in use. Review -// the message details and retry later. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution -func (c *Imagebuilder) StartImagePipelineExecution(input *StartImagePipelineExecutionInput) (*StartImagePipelineExecutionOutput, error) { - req, out := c.StartImagePipelineExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy +func (c *Imagebuilder) PutContainerRecipePolicy(input *PutContainerRecipePolicyInput) (*PutContainerRecipePolicyOutput, error) { + req, out := c.PutContainerRecipePolicyRequest(input) return out, req.Send() } -// StartImagePipelineExecutionWithContext is the same as StartImagePipelineExecution with the addition of +// PutContainerRecipePolicyWithContext is the same as PutContainerRecipePolicy with the addition of // the ability to pass a context and additional request options. // -// See StartImagePipelineExecution for details on how to use this API operation. +// See PutContainerRecipePolicy 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 *Imagebuilder) StartImagePipelineExecutionWithContext(ctx aws.Context, input *StartImagePipelineExecutionInput, opts ...request.Option) (*StartImagePipelineExecutionOutput, error) { - req, out := c.StartImagePipelineExecutionRequest(input) +func (c *Imagebuilder) PutContainerRecipePolicyWithContext(ctx aws.Context, input *PutContainerRecipePolicyInput, opts ...request.Option) (*PutContainerRecipePolicyOutput, error) { + req, out := c.PutContainerRecipePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartResourceStateUpdate = "StartResourceStateUpdate" +const opPutImagePolicy = "PutImagePolicy" -// StartResourceStateUpdateRequest generates a "aws/request.Request" representing the -// client's request for the StartResourceStateUpdate operation. The "output" return +// PutImagePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutImagePolicy 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 StartResourceStateUpdate for more information on using the StartResourceStateUpdate +// See PutImagePolicy for more information on using the PutImagePolicy // 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 StartResourceStateUpdateRequest method. -// req, resp := client.StartResourceStateUpdateRequest(params) +// // Example sending a request using the PutImagePolicyRequest method. +// req, resp := client.PutImagePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartResourceStateUpdate -func (c *Imagebuilder) StartResourceStateUpdateRequest(input *StartResourceStateUpdateInput) (req *request.Request, output *StartResourceStateUpdateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy +func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *request.Request, output *PutImagePolicyOutput) { op := &request.Operation{ - Name: opStartResourceStateUpdate, + Name: opPutImagePolicy, HTTPMethod: "PUT", - HTTPPath: "/StartResourceStateUpdate", + HTTPPath: "/PutImagePolicy", } if input == nil { - input = &StartResourceStateUpdateInput{} + input = &PutImagePolicyInput{} } - output = &StartResourceStateUpdateOutput{} + output = &PutImagePolicyOutput{} req = c.newRequest(op, input, output) return } -// StartResourceStateUpdate API operation for EC2 Image Builder. +// PutImagePolicy API operation for EC2 Image Builder. // -// Begin asynchronous resource state update for lifecycle changes to the specified -// image resources. +// Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare +// (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) +// to share resources. If you call the Image Builder API PutImagePolicy, you +// must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) +// in order for the resource to be visible to all principals with whom the resource +// is shared. // // 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 EC2 Image Builder's -// API operation StartResourceStateUpdate for usage and error information. +// API operation PutImagePolicy for usage and error information. // // Returned Error Types: // @@ -7130,271 +7593,309 @@ func (c *Imagebuilder) StartResourceStateUpdateRequest(input *StartResourceState // - InvalidRequestException // You have requested an action that that the service doesn't support. // +// - InvalidParameterValueException +// The value that you provided for the specified parameter is invalid. +// // - ResourceNotFoundException // At least one of the resources referenced by your request does not exist. // -// - IdempotentParameterMismatchException -// You have specified a client token for an operation using parameter values -// that differ from a previous request that used the same client token. -// // - ForbiddenException // You are not authorized to perform the requested operation. // // - CallRateLimitExceededException // You have exceeded the permitted request rate for the specific operation. // -// - ResourceInUseException -// The resource that you are trying to operate on is currently in use. Review -// the message details and retry later. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartResourceStateUpdate -func (c *Imagebuilder) StartResourceStateUpdate(input *StartResourceStateUpdateInput) (*StartResourceStateUpdateOutput, error) { - req, out := c.StartResourceStateUpdateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy +func (c *Imagebuilder) PutImagePolicy(input *PutImagePolicyInput) (*PutImagePolicyOutput, error) { + req, out := c.PutImagePolicyRequest(input) return out, req.Send() } -// StartResourceStateUpdateWithContext is the same as StartResourceStateUpdate with the addition of +// PutImagePolicyWithContext is the same as PutImagePolicy with the addition of // the ability to pass a context and additional request options. // -// See StartResourceStateUpdate for details on how to use this API operation. +// See PutImagePolicy 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 *Imagebuilder) StartResourceStateUpdateWithContext(ctx aws.Context, input *StartResourceStateUpdateInput, opts ...request.Option) (*StartResourceStateUpdateOutput, error) { - req, out := c.StartResourceStateUpdateRequest(input) +func (c *Imagebuilder) PutImagePolicyWithContext(ctx aws.Context, input *PutImagePolicyInput, opts ...request.Option) (*PutImagePolicyOutput, error) { + req, out := c.PutImagePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opPutImageRecipePolicy = "PutImageRecipePolicy" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// PutImageRecipePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutImageRecipePolicy 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 +// See PutImageRecipePolicy for more information on using the PutImageRecipePolicy // 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) +// // Example sending a request using the PutImageRecipePolicyRequest method. +// req, resp := client.PutImageRecipePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource -func (c *Imagebuilder) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy +func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyInput) (req *request.Request, output *PutImageRecipePolicyOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/tags/{resourceArn}", + Name: opPutImageRecipePolicy, + HTTPMethod: "PUT", + HTTPPath: "/PutImageRecipePolicy", } if input == nil { - input = &TagResourceInput{} + input = &PutImageRecipePolicyInput{} } - output = &TagResourceOutput{} + output = &PutImageRecipePolicyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for EC2 Image Builder. +// PutImageRecipePolicy API operation for EC2 Image Builder. // -// Adds a tag to a resource. +// Applies a policy to an image recipe. We recommend that you call the RAM API +// CreateResourceShare (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) +// to share resources. If you call the Image Builder API PutImageRecipePolicy, +// you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) +// in order for the resource to be visible to all principals with whom the resource +// is shared. // // 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 EC2 Image Builder's -// API operation TagResource for usage and error information. +// API operation PutImageRecipePolicy for usage and error information. // // Returned Error Types: // // - ServiceException // This exception is thrown when the service encounters an unrecoverable exception. // -// - InvalidParameterException -// The specified parameter is invalid. Review the available parameters for the -// API request. +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - InvalidParameterValueException +// The value that you provided for the specified parameter is invalid. // // - ResourceNotFoundException // At least one of the resources referenced by your request does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource -func (c *Imagebuilder) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy +func (c *Imagebuilder) PutImageRecipePolicy(input *PutImageRecipePolicyInput) (*PutImageRecipePolicyOutput, error) { + req, out := c.PutImageRecipePolicyRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// PutImageRecipePolicyWithContext is the same as PutImageRecipePolicy 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. +// See PutImageRecipePolicy 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 *Imagebuilder) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Imagebuilder) PutImageRecipePolicyWithContext(ctx aws.Context, input *PutImageRecipePolicyInput, opts ...request.Option) (*PutImageRecipePolicyOutput, error) { + req, out := c.PutImageRecipePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opSendWorkflowStepAction = "SendWorkflowStepAction" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// SendWorkflowStepActionRequest generates a "aws/request.Request" representing the +// client's request for the SendWorkflowStepAction 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 +// See SendWorkflowStepAction for more information on using the SendWorkflowStepAction // 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) +// // Example sending a request using the SendWorkflowStepActionRequest method. +// req, resp := client.SendWorkflowStepActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource -func (c *Imagebuilder) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/SendWorkflowStepAction +func (c *Imagebuilder) SendWorkflowStepActionRequest(input *SendWorkflowStepActionInput) (req *request.Request, output *SendWorkflowStepActionOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/tags/{resourceArn}", + Name: opSendWorkflowStepAction, + HTTPMethod: "PUT", + HTTPPath: "/SendWorkflowStepAction", } if input == nil { - input = &UntagResourceInput{} + input = &SendWorkflowStepActionInput{} } - output = &UntagResourceOutput{} + output = &SendWorkflowStepActionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for EC2 Image Builder. +// SendWorkflowStepAction API operation for EC2 Image Builder. // -// Removes a tag from a resource. +// Pauses or resumes image creation when the associated workflow runs a WaitForAction +// step. // // 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 EC2 Image Builder's -// API operation UntagResource for usage and error information. +// API operation SendWorkflowStepAction for usage and error information. // // Returned Error Types: // // - ServiceException // This exception is thrown when the service encounters an unrecoverable exception. // -// - InvalidParameterException -// The specified parameter is invalid. Review the available parameters for the -// API request. +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. // // - ResourceNotFoundException // At least one of the resources referenced by your request does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource -func (c *Imagebuilder) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - InvalidParameterValueException +// The value that you provided for the specified parameter is invalid. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - IdempotentParameterMismatchException +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - ResourceInUseException +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/SendWorkflowStepAction +func (c *Imagebuilder) SendWorkflowStepAction(input *SendWorkflowStepActionInput) (*SendWorkflowStepActionOutput, error) { + req, out := c.SendWorkflowStepActionRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// SendWorkflowStepActionWithContext is the same as SendWorkflowStepAction 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. +// See SendWorkflowStepAction 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 *Imagebuilder) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Imagebuilder) SendWorkflowStepActionWithContext(ctx aws.Context, input *SendWorkflowStepActionInput, opts ...request.Option) (*SendWorkflowStepActionOutput, error) { + req, out := c.SendWorkflowStepActionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDistributionConfiguration = "UpdateDistributionConfiguration" +const opStartImagePipelineExecution = "StartImagePipelineExecution" -// UpdateDistributionConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDistributionConfiguration operation. The "output" return +// StartImagePipelineExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartImagePipelineExecution 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 UpdateDistributionConfiguration for more information on using the UpdateDistributionConfiguration +// See StartImagePipelineExecution for more information on using the StartImagePipelineExecution // 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 UpdateDistributionConfigurationRequest method. -// req, resp := client.UpdateDistributionConfigurationRequest(params) +// // Example sending a request using the StartImagePipelineExecutionRequest method. +// req, resp := client.StartImagePipelineExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration -func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistributionConfigurationInput) (req *request.Request, output *UpdateDistributionConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution +func (c *Imagebuilder) StartImagePipelineExecutionRequest(input *StartImagePipelineExecutionInput) (req *request.Request, output *StartImagePipelineExecutionOutput) { op := &request.Operation{ - Name: opUpdateDistributionConfiguration, + Name: opStartImagePipelineExecution, HTTPMethod: "PUT", - HTTPPath: "/UpdateDistributionConfiguration", + HTTPPath: "/StartImagePipelineExecution", } if input == nil { - input = &UpdateDistributionConfigurationInput{} + input = &StartImagePipelineExecutionInput{} } - output = &UpdateDistributionConfigurationOutput{} + output = &StartImagePipelineExecutionOutput{} req = c.newRequest(op, input, output) return } -// UpdateDistributionConfiguration API operation for EC2 Image Builder. +// StartImagePipelineExecution API operation for EC2 Image Builder. // -// Updates a new distribution configuration. Distribution configurations define -// and configure the outputs of your pipeline. +// Manually triggers a pipeline to create an image. // // 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 EC2 Image Builder's -// API operation UpdateDistributionConfiguration for usage and error information. +// API operation StartImagePipelineExecution for usage and error information. // // Returned Error Types: // @@ -7412,6 +7913,9 @@ func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistr // - InvalidRequestException // You have requested an action that that the service doesn't support. // +// - ResourceNotFoundException +// At least one of the resources referenced by your request does not exist. +// // - IdempotentParameterMismatchException // You have specified a client token for an operation using parameter values // that differ from a previous request that used the same client token. @@ -7426,88 +7930,80 @@ func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistr // The resource that you are trying to operate on is currently in use. Review // the message details and retry later. // -// - InvalidParameterCombinationException -// You have specified two or more mutually exclusive parameters. Review the -// error message for details. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration -func (c *Imagebuilder) UpdateDistributionConfiguration(input *UpdateDistributionConfigurationInput) (*UpdateDistributionConfigurationOutput, error) { - req, out := c.UpdateDistributionConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution +func (c *Imagebuilder) StartImagePipelineExecution(input *StartImagePipelineExecutionInput) (*StartImagePipelineExecutionOutput, error) { + req, out := c.StartImagePipelineExecutionRequest(input) return out, req.Send() } -// UpdateDistributionConfigurationWithContext is the same as UpdateDistributionConfiguration with the addition of +// StartImagePipelineExecutionWithContext is the same as StartImagePipelineExecution with the addition of // the ability to pass a context and additional request options. // -// See UpdateDistributionConfiguration for details on how to use this API operation. +// See StartImagePipelineExecution 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 *Imagebuilder) UpdateDistributionConfigurationWithContext(ctx aws.Context, input *UpdateDistributionConfigurationInput, opts ...request.Option) (*UpdateDistributionConfigurationOutput, error) { - req, out := c.UpdateDistributionConfigurationRequest(input) +func (c *Imagebuilder) StartImagePipelineExecutionWithContext(ctx aws.Context, input *StartImagePipelineExecutionInput, opts ...request.Option) (*StartImagePipelineExecutionOutput, error) { + req, out := c.StartImagePipelineExecutionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateImagePipeline = "UpdateImagePipeline" +const opStartResourceStateUpdate = "StartResourceStateUpdate" -// UpdateImagePipelineRequest generates a "aws/request.Request" representing the -// client's request for the UpdateImagePipeline operation. The "output" return +// StartResourceStateUpdateRequest generates a "aws/request.Request" representing the +// client's request for the StartResourceStateUpdate 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 UpdateImagePipeline for more information on using the UpdateImagePipeline +// See StartResourceStateUpdate for more information on using the StartResourceStateUpdate // 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 UpdateImagePipelineRequest method. -// req, resp := client.UpdateImagePipelineRequest(params) +// // Example sending a request using the StartResourceStateUpdateRequest method. +// req, resp := client.StartResourceStateUpdateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline -func (c *Imagebuilder) UpdateImagePipelineRequest(input *UpdateImagePipelineInput) (req *request.Request, output *UpdateImagePipelineOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartResourceStateUpdate +func (c *Imagebuilder) StartResourceStateUpdateRequest(input *StartResourceStateUpdateInput) (req *request.Request, output *StartResourceStateUpdateOutput) { op := &request.Operation{ - Name: opUpdateImagePipeline, + Name: opStartResourceStateUpdate, HTTPMethod: "PUT", - HTTPPath: "/UpdateImagePipeline", + HTTPPath: "/StartResourceStateUpdate", } if input == nil { - input = &UpdateImagePipelineInput{} + input = &StartResourceStateUpdateInput{} } - output = &UpdateImagePipelineOutput{} + output = &StartResourceStateUpdateOutput{} req = c.newRequest(op, input, output) return } -// UpdateImagePipeline API operation for EC2 Image Builder. +// StartResourceStateUpdate API operation for EC2 Image Builder. // -// Updates an image pipeline. Image pipelines enable you to automate the creation -// and distribution of images. -// -// UpdateImagePipeline does not support selective updates for the pipeline. -// You must specify all of the required properties in the update request, not -// just the properties that have changed. +// Begin asynchronous resource state update for lifecycle changes to the specified +// image 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 EC2 Image Builder's -// API operation UpdateImagePipeline for usage and error information. +// API operation StartResourceStateUpdate for usage and error information. // // Returned Error Types: // @@ -7525,6 +8021,9 @@ func (c *Imagebuilder) UpdateImagePipelineRequest(input *UpdateImagePipelineInpu // - InvalidRequestException // You have requested an action that that the service doesn't support. // +// - ResourceNotFoundException +// At least one of the resources referenced by your request does not exist. +// // - IdempotentParameterMismatchException // You have specified a client token for an operation using parameter values // that differ from a previous request that used the same client token. @@ -7539,184 +8038,254 @@ func (c *Imagebuilder) UpdateImagePipelineRequest(input *UpdateImagePipelineInpu // The resource that you are trying to operate on is currently in use. Review // the message details and retry later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline -func (c *Imagebuilder) UpdateImagePipeline(input *UpdateImagePipelineInput) (*UpdateImagePipelineOutput, error) { - req, out := c.UpdateImagePipelineRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartResourceStateUpdate +func (c *Imagebuilder) StartResourceStateUpdate(input *StartResourceStateUpdateInput) (*StartResourceStateUpdateOutput, error) { + req, out := c.StartResourceStateUpdateRequest(input) return out, req.Send() } -// UpdateImagePipelineWithContext is the same as UpdateImagePipeline with the addition of +// StartResourceStateUpdateWithContext is the same as StartResourceStateUpdate with the addition of // the ability to pass a context and additional request options. // -// See UpdateImagePipeline for details on how to use this API operation. +// See StartResourceStateUpdate 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 *Imagebuilder) UpdateImagePipelineWithContext(ctx aws.Context, input *UpdateImagePipelineInput, opts ...request.Option) (*UpdateImagePipelineOutput, error) { - req, out := c.UpdateImagePipelineRequest(input) +func (c *Imagebuilder) StartResourceStateUpdateWithContext(ctx aws.Context, input *StartResourceStateUpdateInput, opts ...request.Option) (*StartResourceStateUpdateOutput, error) { + req, out := c.StartResourceStateUpdateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateInfrastructureConfiguration = "UpdateInfrastructureConfiguration" +const opTagResource = "TagResource" -// UpdateInfrastructureConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInfrastructureConfiguration operation. The "output" return +// 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 UpdateInfrastructureConfiguration for more information on using the UpdateInfrastructureConfiguration +// 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 UpdateInfrastructureConfigurationRequest method. -// req, resp := client.UpdateInfrastructureConfigurationRequest(params) +// // 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/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration -func (c *Imagebuilder) UpdateInfrastructureConfigurationRequest(input *UpdateInfrastructureConfigurationInput) (req *request.Request, output *UpdateInfrastructureConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource +func (c *Imagebuilder) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateInfrastructureConfiguration, - HTTPMethod: "PUT", - HTTPPath: "/UpdateInfrastructureConfiguration", + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &UpdateInfrastructureConfigurationInput{} + input = &TagResourceInput{} } - output = &UpdateInfrastructureConfigurationOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateInfrastructureConfiguration API operation for EC2 Image Builder. +// TagResource API operation for EC2 Image Builder. // -// Updates a new infrastructure configuration. An infrastructure configuration -// defines the environment in which your image will be built and tested. +// Adds a tag to a resource. // // 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 EC2 Image Builder's -// API operation UpdateInfrastructureConfiguration for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // // - ServiceException // This exception is thrown when the service encounters an unrecoverable exception. // -// - ClientException -// These errors are usually caused by a client action, such as using an action -// or resource on behalf of a user that doesn't have permissions to use the -// action or resource, or specifying an invalid resource identifier. +// - InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. // -// - ServiceUnavailableException -// The service is unable to process your request at this time. +// - ResourceNotFoundException +// At least one of the resources referenced by your request does not exist. // -// - InvalidRequestException -// You have requested an action that that the service doesn't support. +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource +func (c *Imagebuilder) 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. // -// - IdempotentParameterMismatchException -// You have specified a client token for an operation using parameter values -// that differ from a previous request that used the same client token. +// See TagResource for details on how to use this API operation. // -// - ForbiddenException -// You are not authorized to perform the requested 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 *Imagebuilder) 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. // -// - CallRateLimitExceededException -// You have exceeded the permitted request rate for the specific operation. +// 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. // -// - ResourceInUseException -// The resource that you are trying to operate on is currently in use. Review -// the message details and retry later. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration -func (c *Imagebuilder) UpdateInfrastructureConfiguration(input *UpdateInfrastructureConfigurationInput) (*UpdateInfrastructureConfigurationOutput, error) { - req, out := c.UpdateInfrastructureConfigurationRequest(input) +// 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/imagebuilder-2019-12-02/UntagResource +func (c *Imagebuilder) 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 EC2 Image Builder. +// +// Removes a tag from a resource. +// +// 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 EC2 Image Builder's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// - ResourceNotFoundException +// At least one of the resources referenced by your request does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource +func (c *Imagebuilder) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateInfrastructureConfigurationWithContext is the same as UpdateInfrastructureConfiguration with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateInfrastructureConfiguration for details on how to use this API operation. +// 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 *Imagebuilder) UpdateInfrastructureConfigurationWithContext(ctx aws.Context, input *UpdateInfrastructureConfigurationInput, opts ...request.Option) (*UpdateInfrastructureConfigurationOutput, error) { - req, out := c.UpdateInfrastructureConfigurationRequest(input) +func (c *Imagebuilder) 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 opUpdateLifecyclePolicy = "UpdateLifecyclePolicy" +const opUpdateDistributionConfiguration = "UpdateDistributionConfiguration" -// UpdateLifecyclePolicyRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLifecyclePolicy operation. The "output" return +// UpdateDistributionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistributionConfiguration 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 UpdateLifecyclePolicy for more information on using the UpdateLifecyclePolicy +// See UpdateDistributionConfiguration for more information on using the UpdateDistributionConfiguration // 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 UpdateLifecyclePolicyRequest method. -// req, resp := client.UpdateLifecyclePolicyRequest(params) +// // Example sending a request using the UpdateDistributionConfigurationRequest method. +// req, resp := client.UpdateDistributionConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateLifecyclePolicy -func (c *Imagebuilder) UpdateLifecyclePolicyRequest(input *UpdateLifecyclePolicyInput) (req *request.Request, output *UpdateLifecyclePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration +func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistributionConfigurationInput) (req *request.Request, output *UpdateDistributionConfigurationOutput) { op := &request.Operation{ - Name: opUpdateLifecyclePolicy, + Name: opUpdateDistributionConfiguration, HTTPMethod: "PUT", - HTTPPath: "/UpdateLifecyclePolicy", + HTTPPath: "/UpdateDistributionConfiguration", } if input == nil { - input = &UpdateLifecyclePolicyInput{} + input = &UpdateDistributionConfigurationInput{} } - output = &UpdateLifecyclePolicyOutput{} + output = &UpdateDistributionConfigurationOutput{} req = c.newRequest(op, input, output) return } -// UpdateLifecyclePolicy API operation for EC2 Image Builder. +// UpdateDistributionConfiguration API operation for EC2 Image Builder. // -// Update the specified lifecycle policy. +// Updates a new distribution configuration. Distribution configurations define +// and configure the outputs of your pipeline. // // 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 EC2 Image Builder's -// API operation UpdateLifecyclePolicy for usage and error information. +// API operation UpdateDistributionConfiguration for usage and error information. // // Returned Error Types: // @@ -7752,174 +8321,2346 @@ func (c *Imagebuilder) UpdateLifecyclePolicyRequest(input *UpdateLifecyclePolicy // You have specified two or more mutually exclusive parameters. Review the // error message for details. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateLifecyclePolicy -func (c *Imagebuilder) UpdateLifecyclePolicy(input *UpdateLifecyclePolicyInput) (*UpdateLifecyclePolicyOutput, error) { - req, out := c.UpdateLifecyclePolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration +func (c *Imagebuilder) UpdateDistributionConfiguration(input *UpdateDistributionConfigurationInput) (*UpdateDistributionConfigurationOutput, error) { + req, out := c.UpdateDistributionConfigurationRequest(input) return out, req.Send() } -// UpdateLifecyclePolicyWithContext is the same as UpdateLifecyclePolicy with the addition of +// UpdateDistributionConfigurationWithContext is the same as UpdateDistributionConfiguration with the addition of // the ability to pass a context and additional request options. // -// See UpdateLifecyclePolicy for details on how to use this API operation. +// See UpdateDistributionConfiguration 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 *Imagebuilder) UpdateLifecyclePolicyWithContext(ctx aws.Context, input *UpdateLifecyclePolicyInput, opts ...request.Option) (*UpdateLifecyclePolicyOutput, error) { - req, out := c.UpdateLifecyclePolicyRequest(input) +func (c *Imagebuilder) UpdateDistributionConfigurationWithContext(ctx aws.Context, input *UpdateDistributionConfigurationInput, opts ...request.Option) (*UpdateDistributionConfigurationOutput, error) { + req, out := c.UpdateDistributionConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Contains counts of vulnerability findings from image scans that run when -// you create new Image Builder images, or build new versions of existing images. -// The vulnerability counts are grouped by severity level. The counts are aggregated -// across resources to create the final tally for the account that owns them. -type AccountAggregation struct { - _ struct{} `type:"structure"` - - // Identifies the account that owns the aggregated resource findings. - AccountId *string `locationName:"accountId" min:"1" type:"string"` - - // Counts by severity level for medium severity and higher level findings, plus - // a total for all of the findings. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` -} +const opUpdateImagePipeline = "UpdateImagePipeline" -// String returns the string representation. +// UpdateImagePipelineRequest generates a "aws/request.Request" representing the +// client's request for the UpdateImagePipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// 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. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregation) GoString() string { - return s.String() -} - -// SetAccountId sets the AccountId field's value. +// See UpdateImagePipeline for more information on using the UpdateImagePipeline +// 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 UpdateImagePipelineRequest method. +// req, resp := client.UpdateImagePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline +func (c *Imagebuilder) UpdateImagePipelineRequest(input *UpdateImagePipelineInput) (req *request.Request, output *UpdateImagePipelineOutput) { + op := &request.Operation{ + Name: opUpdateImagePipeline, + HTTPMethod: "PUT", + HTTPPath: "/UpdateImagePipeline", + } + + if input == nil { + input = &UpdateImagePipelineInput{} + } + + output = &UpdateImagePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateImagePipeline API operation for EC2 Image Builder. +// +// Updates an image pipeline. Image pipelines enable you to automate the creation +// and distribution of images. You must specify exactly one recipe for your +// image, using either a containerRecipeArn or an imageRecipeArn. +// +// UpdateImagePipeline does not support selective updates for the pipeline. +// You must specify all of the required properties in the update request, not +// just the properties that have changed. +// +// 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 EC2 Image Builder's +// API operation UpdateImagePipeline for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - IdempotentParameterMismatchException +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - ResourceInUseException +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline +func (c *Imagebuilder) UpdateImagePipeline(input *UpdateImagePipelineInput) (*UpdateImagePipelineOutput, error) { + req, out := c.UpdateImagePipelineRequest(input) + return out, req.Send() +} + +// UpdateImagePipelineWithContext is the same as UpdateImagePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateImagePipeline 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 *Imagebuilder) UpdateImagePipelineWithContext(ctx aws.Context, input *UpdateImagePipelineInput, opts ...request.Option) (*UpdateImagePipelineOutput, error) { + req, out := c.UpdateImagePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInfrastructureConfiguration = "UpdateInfrastructureConfiguration" + +// UpdateInfrastructureConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInfrastructureConfiguration 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 UpdateInfrastructureConfiguration for more information on using the UpdateInfrastructureConfiguration +// 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 UpdateInfrastructureConfigurationRequest method. +// req, resp := client.UpdateInfrastructureConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration +func (c *Imagebuilder) UpdateInfrastructureConfigurationRequest(input *UpdateInfrastructureConfigurationInput) (req *request.Request, output *UpdateInfrastructureConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateInfrastructureConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/UpdateInfrastructureConfiguration", + } + + if input == nil { + input = &UpdateInfrastructureConfigurationInput{} + } + + output = &UpdateInfrastructureConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInfrastructureConfiguration API operation for EC2 Image Builder. +// +// Updates a new infrastructure configuration. An infrastructure configuration +// defines the environment in which your image will be built and tested. +// +// 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 EC2 Image Builder's +// API operation UpdateInfrastructureConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - IdempotentParameterMismatchException +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - ResourceInUseException +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration +func (c *Imagebuilder) UpdateInfrastructureConfiguration(input *UpdateInfrastructureConfigurationInput) (*UpdateInfrastructureConfigurationOutput, error) { + req, out := c.UpdateInfrastructureConfigurationRequest(input) + return out, req.Send() +} + +// UpdateInfrastructureConfigurationWithContext is the same as UpdateInfrastructureConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInfrastructureConfiguration 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 *Imagebuilder) UpdateInfrastructureConfigurationWithContext(ctx aws.Context, input *UpdateInfrastructureConfigurationInput, opts ...request.Option) (*UpdateInfrastructureConfigurationOutput, error) { + req, out := c.UpdateInfrastructureConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLifecyclePolicy = "UpdateLifecyclePolicy" + +// UpdateLifecyclePolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLifecyclePolicy 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 UpdateLifecyclePolicy for more information on using the UpdateLifecyclePolicy +// 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 UpdateLifecyclePolicyRequest method. +// req, resp := client.UpdateLifecyclePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateLifecyclePolicy +func (c *Imagebuilder) UpdateLifecyclePolicyRequest(input *UpdateLifecyclePolicyInput) (req *request.Request, output *UpdateLifecyclePolicyOutput) { + op := &request.Operation{ + Name: opUpdateLifecyclePolicy, + HTTPMethod: "PUT", + HTTPPath: "/UpdateLifecyclePolicy", + } + + if input == nil { + input = &UpdateLifecyclePolicyInput{} + } + + output = &UpdateLifecyclePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLifecyclePolicy API operation for EC2 Image Builder. +// +// Update the specified lifecycle policy. +// +// 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 EC2 Image Builder's +// API operation UpdateLifecyclePolicy for usage and error information. +// +// Returned Error Types: +// +// - ServiceException +// This exception is thrown when the service encounters an unrecoverable exception. +// +// - ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +// +// - ServiceUnavailableException +// The service is unable to process your request at this time. +// +// - InvalidRequestException +// You have requested an action that that the service doesn't support. +// +// - IdempotentParameterMismatchException +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// - ForbiddenException +// You are not authorized to perform the requested operation. +// +// - CallRateLimitExceededException +// You have exceeded the permitted request rate for the specific operation. +// +// - ResourceInUseException +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +// +// - InvalidParameterCombinationException +// You have specified two or more mutually exclusive parameters. Review the +// error message for details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateLifecyclePolicy +func (c *Imagebuilder) UpdateLifecyclePolicy(input *UpdateLifecyclePolicyInput) (*UpdateLifecyclePolicyOutput, error) { + req, out := c.UpdateLifecyclePolicyRequest(input) + return out, req.Send() +} + +// UpdateLifecyclePolicyWithContext is the same as UpdateLifecyclePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLifecyclePolicy 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 *Imagebuilder) UpdateLifecyclePolicyWithContext(ctx aws.Context, input *UpdateLifecyclePolicyInput, opts ...request.Option) (*UpdateLifecyclePolicyOutput, error) { + req, out := c.UpdateLifecyclePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains counts of vulnerability findings from image scans that run when +// you create new Image Builder images, or build new versions of existing images. +// The vulnerability counts are grouped by severity level. The counts are aggregated +// across resources to create the final tally for the account that owns them. +type AccountAggregation struct { + _ struct{} `type:"structure"` + + // Identifies the account that owns the aggregated resource findings. + AccountId *string `locationName:"accountId" min:"1" type:"string"` + + // Counts by severity level for medium severity and higher level findings, plus + // a total for all of the findings. + SeverityCounts *SeverityCounts `locationName:"severityCounts" 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 AccountAggregation) 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 AccountAggregation) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. func (s *AccountAggregation) SetAccountId(v string) *AccountAggregation { s.AccountId = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *AccountAggregation) SetSeverityCounts(v *SeverityCounts) *AccountAggregation { - s.SeverityCounts = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *AccountAggregation) SetSeverityCounts(v *SeverityCounts) *AccountAggregation { + s.SeverityCounts = v + return s +} + +// In addition to your infrastructure configuration, these settings provide +// an extra layer of control over your build instances. You can also specify +// commands to run on launch for all of your build instances. +// +// Image Builder does not automatically install the Systems Manager agent on +// Windows instances. If your base image includes the Systems Manager agent, +// then the AMI that you create will also include the agent. For Linux instances, +// if the base image does not already include the Systems Manager agent, Image +// Builder installs it. For Linux instances where Image Builder installs the +// Systems Manager agent, you can choose whether to keep it for the AMI that +// you create. +type AdditionalInstanceConfiguration struct { + _ struct{} `type:"structure"` + + // Contains settings for the Systems Manager agent on your build instance. + SystemsManagerAgent *SystemsManagerAgent `locationName:"systemsManagerAgent" type:"structure"` + + // Use this property to provide commands or a command script to run when you + // launch your build instance. + // + // The userDataOverride property replaces any commands that Image Builder might + // have added to ensure that Systems Manager is installed on your Linux build + // instance. If you override the user data, make sure that you add commands + // to install Systems Manager, if it is not pre-installed on your base image. + // + // The user data is always base 64 encoded. For example, the following commands + // are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$: + // + // #!/bin/bash + // + // mkdir -p /var/bb/ + // + // touch /var + UserDataOverride *string `locationName:"userDataOverride" 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 AdditionalInstanceConfiguration) 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 AdditionalInstanceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdditionalInstanceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdditionalInstanceConfiguration"} + if s.UserDataOverride != nil && len(*s.UserDataOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserDataOverride", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSystemsManagerAgent sets the SystemsManagerAgent field's value. +func (s *AdditionalInstanceConfiguration) SetSystemsManagerAgent(v *SystemsManagerAgent) *AdditionalInstanceConfiguration { + s.SystemsManagerAgent = v + return s +} + +// SetUserDataOverride sets the UserDataOverride field's value. +func (s *AdditionalInstanceConfiguration) SetUserDataOverride(v string) *AdditionalInstanceConfiguration { + s.UserDataOverride = &v + return s +} + +// Details of an Amazon EC2 AMI. +type Ami struct { + _ struct{} `type:"structure"` + + // The account ID of the owner of the AMI. + AccountId *string `locationName:"accountId" min:"1" type:"string"` + + // The description of the Amazon EC2 AMI. Minimum and maximum length are in + // characters. + Description *string `locationName:"description" min:"1" type:"string"` + + // The AMI ID of the Amazon EC2 AMI. + Image *string `locationName:"image" min:"1" type:"string"` + + // The name of the Amazon EC2 AMI. + Name *string `locationName:"name" min:"1" type:"string"` + + // The Amazon Web Services Region of the Amazon EC2 AMI. + Region *string `locationName:"region" min:"1" type:"string"` + + // Image status and the reason for that status. + State *ImageState `locationName:"state" 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 Ami) 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 Ami) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Ami) SetAccountId(v string) *Ami { + s.AccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Ami) SetDescription(v string) *Ami { + s.Description = &v + return s +} + +// SetImage sets the Image field's value. +func (s *Ami) SetImage(v string) *Ami { + s.Image = &v + return s +} + +// SetName sets the Name field's value. +func (s *Ami) SetName(v string) *Ami { + s.Name = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *Ami) SetRegion(v string) *Ami { + s.Region = &v + return s +} + +// SetState sets the State field's value. +func (s *Ami) SetState(v *ImageState) *Ami { + s.State = v + return s +} + +// Define and configure the output AMIs of the pipeline. +type AmiDistributionConfiguration struct { + _ struct{} `type:"structure"` + + // The tags to apply to AMIs distributed to this Region. + AmiTags map[string]*string `locationName:"amiTags" min:"1" type:"map"` + + // The description of the AMI distribution configuration. Minimum and maximum + // length are in characters. + Description *string `locationName:"description" min:"1" type:"string"` + + // The KMS key identifier used to encrypt the distributed image. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // Launch permissions can be used to configure which Amazon Web Services accounts + // can use the AMI to launch instances. + LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"` + + // The name of the output AMI. + Name *string `locationName:"name" min:"1" type:"string"` + + // The ID of an account to which you want to distribute an image. + TargetAccountIds []*string `locationName:"targetAccountIds" min:"1" 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 AmiDistributionConfiguration) 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 AmiDistributionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmiDistributionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiDistributionConfiguration"} + if s.AmiTags != nil && len(s.AmiTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AmiTags", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TargetAccountIds != nil && len(s.TargetAccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetAccountIds", 1)) + } + if s.LaunchPermission != nil { + if err := s.LaunchPermission.Validate(); err != nil { + invalidParams.AddNested("LaunchPermission", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmiTags sets the AmiTags field's value. +func (s *AmiDistributionConfiguration) SetAmiTags(v map[string]*string) *AmiDistributionConfiguration { + s.AmiTags = v + return s +} + +// SetDescription sets the Description field's value. +func (s *AmiDistributionConfiguration) SetDescription(v string) *AmiDistributionConfiguration { + s.Description = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AmiDistributionConfiguration) SetKmsKeyId(v string) *AmiDistributionConfiguration { + s.KmsKeyId = &v + return s +} + +// SetLaunchPermission sets the LaunchPermission field's value. +func (s *AmiDistributionConfiguration) SetLaunchPermission(v *LaunchPermissionConfiguration) *AmiDistributionConfiguration { + s.LaunchPermission = v + return s +} + +// SetName sets the Name field's value. +func (s *AmiDistributionConfiguration) SetName(v string) *AmiDistributionConfiguration { + s.Name = &v + return s +} + +// SetTargetAccountIds sets the TargetAccountIds field's value. +func (s *AmiDistributionConfiguration) SetTargetAccountIds(v []*string) *AmiDistributionConfiguration { + s.TargetAccountIds = v + return s +} + +// You have exceeded the permitted request rate for the specific operation. +type CallRateLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CallRateLimitExceededException) 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 CallRateLimitExceededException) GoString() string { + return s.String() +} + +func newErrorCallRateLimitExceededException(v protocol.ResponseMetadata) error { + return &CallRateLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CallRateLimitExceededException) Code() string { + return "CallRateLimitExceededException" +} + +// Message returns the exception's message. +func (s *CallRateLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CallRateLimitExceededException) OrigErr() error { + return nil +} + +func (s *CallRateLimitExceededException) 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 *CallRateLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CallRateLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CancelImageCreationInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the image that you want to cancel creation + // for. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" 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 CancelImageCreationInput) 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 CancelImageCreationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelImageCreationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelImageCreationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CancelImageCreationInput) SetClientToken(v string) *CancelImageCreationInput { + s.ClientToken = &v + return s +} + +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *CancelImageCreationInput) SetImageBuildVersionArn(v string) *CancelImageCreationInput { + s.ImageBuildVersionArn = &v + return s +} + +type CancelImageCreationOutput struct { + _ struct{} `type:"structure"` + + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The ARN of the image whose creation this request canceled. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" 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 CancelImageCreationOutput) 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 CancelImageCreationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CancelImageCreationOutput) SetClientToken(v string) *CancelImageCreationOutput { + s.ClientToken = &v + return s +} + +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *CancelImageCreationOutput) SetImageBuildVersionArn(v string) *CancelImageCreationOutput { + s.ImageBuildVersionArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CancelImageCreationOutput) SetRequestId(v string) *CancelImageCreationOutput { + s.RequestId = &v + return s +} + +type CancelLifecycleExecutionInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Identifies the specific runtime instance of the image lifecycle to cancel. + // + // LifecycleExecutionId is a required field + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" 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 CancelLifecycleExecutionInput) 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 CancelLifecycleExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelLifecycleExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelLifecycleExecutionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.LifecycleExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CancelLifecycleExecutionInput) SetClientToken(v string) *CancelLifecycleExecutionInput { + s.ClientToken = &v + return s +} + +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *CancelLifecycleExecutionInput) SetLifecycleExecutionId(v string) *CancelLifecycleExecutionInput { + s.LifecycleExecutionId = &v + return s +} + +type CancelLifecycleExecutionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the image lifecycle runtime instance that was canceled. + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" 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 CancelLifecycleExecutionOutput) 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 CancelLifecycleExecutionOutput) GoString() string { + return s.String() +} + +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *CancelLifecycleExecutionOutput) SetLifecycleExecutionId(v string) *CancelLifecycleExecutionOutput { + s.LifecycleExecutionId = &v + return s +} + +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an invalid resource identifier. +type ClientException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClientException) 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 ClientException) GoString() string { + return s.String() +} + +func newErrorClientException(v protocol.ResponseMetadata) error { + return &ClientException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ClientException) Code() string { + return "ClientException" +} + +// Message returns the exception's message. +func (s *ClientException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ClientException) OrigErr() error { + return nil +} + +func (s *ClientException) 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 *ClientException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ClientException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A detailed view of a component. +type Component struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component. + Arn *string `locationName:"arn" type:"string"` + + // Describes what change has been made in this version of the component, or + // what makes this version different from other versions of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // Component data contains the YAML document content for the component. + Data *string `locationName:"data" type:"string"` + + // The date that Image Builder created the component. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The encryption status of the component. + Encrypted *bool `locationName:"encrypted" type:"boolean"` + + // The KMS key identifier used to encrypt the component. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the component. + Name *string `locationName:"name" type:"string"` + + // Indicates whether component source is hidden from view in the console, and + // from component detail results for API, CLI, or SDK operations. + Obfuscate *bool `locationName:"obfuscate" type:"boolean"` + + // The owner of the component. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // Contains parameter details for each of the parameters that the component + // document defined for the component. + Parameters []*ComponentParameterDetail `locationName:"parameters" type:"list"` + + // The operating system platform of the component. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // Contains the name of the publisher if this is a third-party component. Otherwise, + // this property is empty. + Publisher *string `locationName:"publisher" min:"1" type:"string"` + + // Describes the current status of the component. This is used for components + // that are no longer active. + State *ComponentState `locationName:"state" type:"structure"` + + // The operating system (OS) version supported by the component. If the OS information + // is available, Image Builder performs a prefix match against the base image + // OS version during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + + // The tags that apply to the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The component type specifies whether Image Builder uses the component to + // build the image or only to test it. + Type *string `locationName:"type" type:"string" enum:"ComponentType"` + + // The version of the component. + Version *string `locationName:"version" 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 Component) 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 Component) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Component) SetArn(v string) *Component { + s.Arn = &v + return s +} + +// SetChangeDescription sets the ChangeDescription field's value. +func (s *Component) SetChangeDescription(v string) *Component { + s.ChangeDescription = &v + return s +} + +// SetData sets the Data field's value. +func (s *Component) SetData(v string) *Component { + s.Data = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *Component) SetDateCreated(v string) *Component { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Component) SetDescription(v string) *Component { + s.Description = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *Component) SetEncrypted(v bool) *Component { + s.Encrypted = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Component) SetKmsKeyId(v string) *Component { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Component) SetName(v string) *Component { + s.Name = &v + return s +} + +// SetObfuscate sets the Obfuscate field's value. +func (s *Component) SetObfuscate(v bool) *Component { + s.Obfuscate = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *Component) SetOwner(v string) *Component { + s.Owner = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Component) SetParameters(v []*ComponentParameterDetail) *Component { + s.Parameters = v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Component) SetPlatform(v string) *Component { + s.Platform = &v + return s +} + +// SetPublisher sets the Publisher field's value. +func (s *Component) SetPublisher(v string) *Component { + s.Publisher = &v + return s +} + +// SetState sets the State field's value. +func (s *Component) SetState(v *ComponentState) *Component { + s.State = v + return s +} + +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *Component) SetSupportedOsVersions(v []*string) *Component { + s.SupportedOsVersions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *Component) SetTags(v map[string]*string) *Component { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Component) SetType(v string) *Component { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Component) SetVersion(v string) *Component { + s.Version = &v + return s +} + +// Configuration details of the component. +type ComponentConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component. + // + // ComponentArn is a required field + ComponentArn *string `locationName:"componentArn" type:"string" required:"true"` + + // A group of parameter settings that Image Builder uses to configure the component + // for a specific recipe. + Parameters []*ComponentParameter `locationName:"parameters" min:"1" 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 ComponentConfiguration) 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 ComponentConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentConfiguration"} + if s.ComponentArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentArn")) + } + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Parameters != nil { + for i, v := range s.Parameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentArn sets the ComponentArn field's value. +func (s *ComponentConfiguration) SetComponentArn(v string) *ComponentConfiguration { + s.ComponentArn = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ComponentConfiguration) SetParameters(v []*ComponentParameter) *ComponentConfiguration { + s.Parameters = v + return s +} + +// Contains a key/value pair that sets the named component parameter. +type ComponentParameter struct { + _ struct{} `type:"structure"` + + // The name of the component parameter to set. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Sets the value for the named component parameter. + // + // Value is a required field + Value []*string `locationName:"value" 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 ComponentParameter) 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 ComponentParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ComponentParameter) SetName(v string) *ComponentParameter { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ComponentParameter) SetValue(v []*string) *ComponentParameter { + s.Value = v + return s +} + +// Defines a parameter that is used to provide configuration details for the +// component. +type ComponentParameterDetail struct { + _ struct{} `type:"structure"` + + // The default value of this parameter if no input is provided. + DefaultValue []*string `locationName:"defaultValue" type:"list"` + + // Describes this parameter. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of this input parameter. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The type of input this parameter provides. The currently supported value + // is "string". + // + // 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 ComponentParameterDetail) 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 ComponentParameterDetail) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *ComponentParameterDetail) SetDefaultValue(v []*string) *ComponentParameterDetail { + s.DefaultValue = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentParameterDetail) SetDescription(v string) *ComponentParameterDetail { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *ComponentParameterDetail) SetName(v string) *ComponentParameterDetail { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ComponentParameterDetail) SetType(v string) *ComponentParameterDetail { + s.Type = &v + return s +} + +// A group of fields that describe the current status of components. +type ComponentState struct { + _ struct{} `type:"structure"` + + // Describes how or why the component changed state. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The current state of the component. + Status *string `locationName:"status" type:"string" enum:"ComponentStatus"` +} + +// 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 ComponentState) 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 ComponentState) GoString() string { + return s.String() +} + +// SetReason sets the Reason field's value. +func (s *ComponentState) SetReason(v string) *ComponentState { + s.Reason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentState) SetStatus(v string) *ComponentState { + s.Status = &v + return s +} + +// A high-level summary of a component. +type ComponentSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component. + Arn *string `locationName:"arn" type:"string"` + + // The change description for the current version of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // The original creation date of the component. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the component. + Name *string `locationName:"name" type:"string"` + + // Indicates whether component source is hidden from view in the console, and + // from component detail results for API, CLI, or SDK operations. + Obfuscate *bool `locationName:"obfuscate" type:"boolean"` + + // The owner of the component. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The operating system platform of the component. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // Contains the name of the publisher if this is a third-party component. Otherwise, + // this property is empty. + Publisher *string `locationName:"publisher" min:"1" type:"string"` + + // Describes the current status of the component. + State *ComponentState `locationName:"state" type:"structure"` + + // The operating system (OS) version that the component supports. If the OS + // information is available, Image Builder performs a prefix match against the + // base image OS version during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + + // The tags that apply to the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The component type specifies whether Image Builder uses the component to + // build the image or only to test it. + Type *string `locationName:"type" type:"string" enum:"ComponentType"` + + // The version of the component. + Version *string `locationName:"version" 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 ComponentSummary) 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 ComponentSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentSummary) SetArn(v string) *ComponentSummary { + s.Arn = &v + return s +} + +// SetChangeDescription sets the ChangeDescription field's value. +func (s *ComponentSummary) SetChangeDescription(v string) *ComponentSummary { + s.ChangeDescription = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ComponentSummary) SetDateCreated(v string) *ComponentSummary { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentSummary) SetDescription(v string) *ComponentSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *ComponentSummary) SetName(v string) *ComponentSummary { + s.Name = &v + return s +} + +// SetObfuscate sets the Obfuscate field's value. +func (s *ComponentSummary) SetObfuscate(v bool) *ComponentSummary { + s.Obfuscate = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ComponentSummary) SetOwner(v string) *ComponentSummary { + s.Owner = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ComponentSummary) SetPlatform(v string) *ComponentSummary { + s.Platform = &v + return s +} + +// SetPublisher sets the Publisher field's value. +func (s *ComponentSummary) SetPublisher(v string) *ComponentSummary { + s.Publisher = &v + return s +} + +// SetState sets the State field's value. +func (s *ComponentSummary) SetState(v *ComponentState) *ComponentSummary { + s.State = v + return s +} + +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *ComponentSummary) SetSupportedOsVersions(v []*string) *ComponentSummary { + s.SupportedOsVersions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *ComponentSummary) SetTags(v map[string]*string) *ComponentSummary { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *ComponentSummary) SetType(v string) *ComponentSummary { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ComponentSummary) SetVersion(v string) *ComponentSummary { + s.Version = &v + return s +} + +// The defining characteristics of a specific version of an Amazon Web Services +// TOE component. +type ComponentVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component. + // + // Semantic versioning is included in each object's Amazon Resource Name (ARN), + // at the level that applies to that object as follows: + // + // Versionless ARNs and Name ARNs do not include specific values in any of the + // nodes. The nodes are either left off entirely, or they are specified as wildcards, + // for example: x.x.x. + // + // Version ARNs have only the first three nodes: .. + // + // Build version ARNs have all four nodes, and point to a specific build for + // a specific version of an object. + Arn *string `locationName:"arn" type:"string"` + + // The date that the component was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the component. + Name *string `locationName:"name" type:"string"` + + // The owner of the component. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The platform of the component. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // he operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the base image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + + // The type of the component denotes whether the component is used to build + // the image or only to test it. + Type *string `locationName:"type" type:"string" enum:"ComponentType"` + + // The semantic version of the component. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + Version *string `locationName:"version" 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 ComponentVersion) 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 ComponentVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentVersion) SetArn(v string) *ComponentVersion { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ComponentVersion) SetDateCreated(v string) *ComponentVersion { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentVersion) SetDescription(v string) *ComponentVersion { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *ComponentVersion) SetName(v string) *ComponentVersion { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ComponentVersion) SetOwner(v string) *ComponentVersion { + s.Owner = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ComponentVersion) SetPlatform(v string) *ComponentVersion { + s.Platform = &v + return s +} + +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *ComponentVersion) SetSupportedOsVersions(v []*string) *ComponentVersion { + s.SupportedOsVersions = v + return s +} + +// SetType sets the Type field's value. +func (s *ComponentVersion) SetType(v string) *ComponentVersion { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ComponentVersion) SetVersion(v string) *ComponentVersion { + s.Version = &v + return s +} + +// A container encapsulates the runtime environment for an application. +type Container struct { + _ struct{} `type:"structure"` + + // A list of URIs for containers created in the context Region. + ImageUris []*string `locationName:"imageUris" type:"list"` + + // Containers and container images are Region-specific. This is the Region context + // for the container. + Region *string `locationName:"region" 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 Container) 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 Container) GoString() string { + return s.String() +} + +// SetImageUris sets the ImageUris field's value. +func (s *Container) SetImageUris(v []*string) *Container { + s.ImageUris = v + return s +} + +// SetRegion sets the Region field's value. +func (s *Container) SetRegion(v string) *Container { + s.Region = &v + return s +} + +// Container distribution settings for encryption, licensing, and sharing in +// a specific Region. +type ContainerDistributionConfiguration struct { + _ struct{} `type:"structure"` + + // Tags that are attached to the container distribution configuration. + ContainerTags []*string `locationName:"containerTags" type:"list"` + + // The description of the container distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The destination repository for the container distribution configuration. + // + // TargetRepository is a required field + TargetRepository *TargetContainerRepository `locationName:"targetRepository" 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 ContainerDistributionConfiguration) 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 ContainerDistributionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerDistributionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerDistributionConfiguration"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.TargetRepository == nil { + invalidParams.Add(request.NewErrParamRequired("TargetRepository")) + } + if s.TargetRepository != nil { + if err := s.TargetRepository.Validate(); err != nil { + invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerTags sets the ContainerTags field's value. +func (s *ContainerDistributionConfiguration) SetContainerTags(v []*string) *ContainerDistributionConfiguration { + s.ContainerTags = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ContainerDistributionConfiguration) SetDescription(v string) *ContainerDistributionConfiguration { + s.Description = &v + return s +} + +// SetTargetRepository sets the TargetRepository field's value. +func (s *ContainerDistributionConfiguration) SetTargetRepository(v *TargetContainerRepository) *ContainerDistributionConfiguration { + s.TargetRepository = v + return s +} + +// A container recipe. +type ContainerRecipe struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the container recipe. + // + // Semantic versioning is included in each object's Amazon Resource Name (ARN), + // at the level that applies to that object as follows: + // + // Versionless ARNs and Name ARNs do not include specific values in any of the + // nodes. The nodes are either left off entirely, or they are specified as wildcards, + // for example: x.x.x. + // + // Version ARNs have only the first three nodes: .. + // + // Build version ARNs have all four nodes, and point to a specific build for + // a specific version of an object. + Arn *string `locationName:"arn" type:"string"` + + // Build and test components that are included in the container recipe. Recipes + // require a minimum of one build component, and can have a maximum of 20 build + // and test components in any combination. + Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"` + + // Specifies the type of container, such as Docker. + ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"` + + // The date when this container recipe was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the container recipe. + Description *string `locationName:"description" min:"1" type:"string"` + + // Dockerfiles are text documents that are used to build Docker containers, + // and ensure that they contain all of the elements required by the application + // running inside. The template data consists of contextual variables where + // Image Builder places build information or scripts, based on your container + // image recipe. + DockerfileTemplateData *string `locationName:"dockerfileTemplateData" type:"string"` + + // A flag that indicates if the target container is encrypted. + Encrypted *bool `locationName:"encrypted" type:"boolean"` + + // A group of options that can be used to configure an instance for building + // and testing container images. + InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"` + + // Identifies which KMS key is used to encrypt the container image for distribution + // to the target Region. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the container recipe. + Name *string `locationName:"name" type:"string"` + + // The owner of the container recipe. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The base image for the container recipe. + ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + + // The system platform for the container, such as Windows or Linux. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // Tags that are attached to the container recipe. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The destination repository for the container image. + TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure"` + + // The semantic version of the container recipe. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + Version *string `locationName:"version" type:"string"` + + // The working directory for use during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" 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 ContainerRecipe) 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 ContainerRecipe) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ContainerRecipe) SetArn(v string) *ContainerRecipe { + s.Arn = &v + return s +} + +// SetComponents sets the Components field's value. +func (s *ContainerRecipe) SetComponents(v []*ComponentConfiguration) *ContainerRecipe { + s.Components = v + return s +} + +// SetContainerType sets the ContainerType field's value. +func (s *ContainerRecipe) SetContainerType(v string) *ContainerRecipe { + s.ContainerType = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ContainerRecipe) SetDateCreated(v string) *ContainerRecipe { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ContainerRecipe) SetDescription(v string) *ContainerRecipe { + s.Description = &v + return s +} + +// SetDockerfileTemplateData sets the DockerfileTemplateData field's value. +func (s *ContainerRecipe) SetDockerfileTemplateData(v string) *ContainerRecipe { + s.DockerfileTemplateData = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *ContainerRecipe) SetEncrypted(v bool) *ContainerRecipe { + s.Encrypted = &v + return s +} + +// SetInstanceConfiguration sets the InstanceConfiguration field's value. +func (s *ContainerRecipe) SetInstanceConfiguration(v *InstanceConfiguration) *ContainerRecipe { + s.InstanceConfiguration = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ContainerRecipe) SetKmsKeyId(v string) *ContainerRecipe { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ContainerRecipe) SetName(v string) *ContainerRecipe { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ContainerRecipe) SetOwner(v string) *ContainerRecipe { + s.Owner = &v + return s +} + +// SetParentImage sets the ParentImage field's value. +func (s *ContainerRecipe) SetParentImage(v string) *ContainerRecipe { + s.ParentImage = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ContainerRecipe) SetPlatform(v string) *ContainerRecipe { + s.Platform = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ContainerRecipe) SetTags(v map[string]*string) *ContainerRecipe { + s.Tags = v + return s +} + +// SetTargetRepository sets the TargetRepository field's value. +func (s *ContainerRecipe) SetTargetRepository(v *TargetContainerRepository) *ContainerRecipe { + s.TargetRepository = v + return s +} + +// SetVersion sets the Version field's value. +func (s *ContainerRecipe) SetVersion(v string) *ContainerRecipe { + s.Version = &v + return s +} + +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ContainerRecipe) SetWorkingDirectory(v string) *ContainerRecipe { + s.WorkingDirectory = &v + return s +} + +// A summary of a container recipe +type ContainerRecipeSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the container recipe. + Arn *string `locationName:"arn" type:"string"` + + // Specifies the type of container, such as "Docker". + ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"` + + // The date when this container recipe was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The name of the container recipe. + Name *string `locationName:"name" type:"string"` + + // The owner of the container recipe. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The base image for the container recipe. + ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + + // The system platform for the container, such as Windows or Linux. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // Tags that are attached to the container recipe. + Tags map[string]*string `locationName:"tags" min:"1" 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 ContainerRecipeSummary) 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 ContainerRecipeSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ContainerRecipeSummary) SetArn(v string) *ContainerRecipeSummary { + s.Arn = &v + return s +} + +// SetContainerType sets the ContainerType field's value. +func (s *ContainerRecipeSummary) SetContainerType(v string) *ContainerRecipeSummary { + s.ContainerType = &v return s } -// In addition to your infrastructure configuration, these settings provide -// an extra layer of control over your build instances. You can also specify -// commands to run on launch for all of your build instances. -// -// Image Builder does not automatically install the Systems Manager agent on -// Windows instances. If your base image includes the Systems Manager agent, -// then the AMI that you create will also include the agent. For Linux instances, -// if the base image does not already include the Systems Manager agent, Image -// Builder installs it. For Linux instances where Image Builder installs the -// Systems Manager agent, you can choose whether to keep it for the AMI that -// you create. -type AdditionalInstanceConfiguration struct { +// SetDateCreated sets the DateCreated field's value. +func (s *ContainerRecipeSummary) SetDateCreated(v string) *ContainerRecipeSummary { + s.DateCreated = &v + return s +} + +// SetName sets the Name field's value. +func (s *ContainerRecipeSummary) SetName(v string) *ContainerRecipeSummary { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ContainerRecipeSummary) SetOwner(v string) *ContainerRecipeSummary { + s.Owner = &v + return s +} + +// SetParentImage sets the ParentImage field's value. +func (s *ContainerRecipeSummary) SetParentImage(v string) *ContainerRecipeSummary { + s.ParentImage = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ContainerRecipeSummary) SetPlatform(v string) *ContainerRecipeSummary { + s.Platform = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ContainerRecipeSummary) SetTags(v map[string]*string) *ContainerRecipeSummary { + s.Tags = v + return s +} + +type CreateComponentInput struct { _ struct{} `type:"structure"` - // Contains settings for the Systems Manager agent on your build instance. - SystemsManagerAgent *SystemsManagerAgent `locationName:"systemsManagerAgent" type:"structure"` + // The change description of the component. Describes what change has been made + // in this version, or what makes this version different from other versions + // of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - // Use this property to provide commands or a command script to run when you - // launch your build instance. + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Component data contains inline YAML document content for the component. Alternatively, + // you can specify the uri of a YAML document file stored in Amazon S3. However, + // you cannot specify both properties. + Data *string `locationName:"data" min:"1" type:"string"` + + // Describes the contents of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The ID of the KMS key that is used to encrypt this component. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the component. // - // The userDataOverride property replaces any commands that Image Builder might - // have added to ensure that Systems Manager is installed on your Linux build - // instance. If you override the user data, make sure that you add commands - // to install Systems Manager, if it is not pre-installed on your base image. + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The operating system platform of the component. // - // The user data is always base 64 encoded. For example, the following commands - // are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$: + // Platform is a required field + Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` + + // The semantic version of the component. This version follows the semantic + // version syntax. // - // #!/bin/bash + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. // - // mkdir -p /var/bb/ + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. // - // touch /var - UserDataOverride *string `locationName:"userDataOverride" min:"1" type:"string"` + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // The operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the base image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + + // The tags that apply to the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), + // and the requester must have permission to access the S3 bucket it points + // to. If you use Amazon S3, you can specify component content up to your service + // quota. + // + // Alternatively, you can specify the YAML document inline, using the component + // data property. You cannot specify both properties. + Uri *string `locationName:"uri" 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 CreateComponentInput) 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 CreateComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateComponentInput"} + if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Data != nil && len(*s.Data) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Data", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.SupportedOsVersions != nil && len(s.SupportedOsVersions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SupportedOsVersions", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangeDescription sets the ChangeDescription field's value. +func (s *CreateComponentInput) SetChangeDescription(v string) *CreateComponentInput { + s.ChangeDescription = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateComponentInput) SetClientToken(v string) *CreateComponentInput { + s.ClientToken = &v + return s +} + +// SetData sets the Data field's value. +func (s *CreateComponentInput) SetData(v string) *CreateComponentInput { + s.Data = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateComponentInput) SetDescription(v string) *CreateComponentInput { + s.Description = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateComponentInput) SetKmsKeyId(v string) *CreateComponentInput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateComponentInput) SetName(v string) *CreateComponentInput { + s.Name = &v + return s } -// 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 AdditionalInstanceConfiguration) String() string { - return awsutil.Prettify(s) +// SetPlatform sets the Platform field's value. +func (s *CreateComponentInput) SetPlatform(v string) *CreateComponentInput { + s.Platform = &v + return 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 AdditionalInstanceConfiguration) GoString() string { - return s.String() +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateComponentInput) SetSemanticVersion(v string) *CreateComponentInput { + s.SemanticVersion = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AdditionalInstanceConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AdditionalInstanceConfiguration"} - if s.UserDataOverride != nil && len(*s.UserDataOverride) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserDataOverride", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *CreateComponentInput) SetSupportedOsVersions(v []*string) *CreateComponentInput { + s.SupportedOsVersions = v + return s } -// SetSystemsManagerAgent sets the SystemsManagerAgent field's value. -func (s *AdditionalInstanceConfiguration) SetSystemsManagerAgent(v *SystemsManagerAgent) *AdditionalInstanceConfiguration { - s.SystemsManagerAgent = v +// SetTags sets the Tags field's value. +func (s *CreateComponentInput) SetTags(v map[string]*string) *CreateComponentInput { + s.Tags = v return s } -// SetUserDataOverride sets the UserDataOverride field's value. -func (s *AdditionalInstanceConfiguration) SetUserDataOverride(v string) *AdditionalInstanceConfiguration { - s.UserDataOverride = &v +// SetUri sets the Uri field's value. +func (s *CreateComponentInput) SetUri(v string) *CreateComponentInput { + s.Uri = &v return s } -// Details of an Amazon EC2 AMI. -type Ami struct { +type CreateComponentOutput struct { _ struct{} `type:"structure"` - // The account ID of the owner of the AMI. - AccountId *string `locationName:"accountId" min:"1" type:"string"` - - // The description of the Amazon EC2 AMI. Minimum and maximum length are in - // characters. - Description *string `locationName:"description" min:"1" type:"string"` - - // The AMI ID of the Amazon EC2 AMI. - Image *string `locationName:"image" min:"1" type:"string"` - - // The name of the Amazon EC2 AMI. - Name *string `locationName:"name" min:"1" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The Amazon Web Services Region of the Amazon EC2 AMI. - Region *string `locationName:"region" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the component that the request created. + ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` - // Image status and the reason for that status. - State *ImageState `locationName:"state" type:"structure"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -7927,7 +10668,7 @@ type Ami struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ami) String() string { +func (s CreateComponentOutput) String() string { return awsutil.Prettify(s) } @@ -7936,69 +10677,109 @@ func (s Ami) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ami) GoString() string { +func (s CreateComponentOutput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *Ami) SetAccountId(v string) *Ami { - s.AccountId = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Ami) SetDescription(v string) *Ami { - s.Description = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateComponentOutput) SetClientToken(v string) *CreateComponentOutput { + s.ClientToken = &v return s } -// SetImage sets the Image field's value. -func (s *Ami) SetImage(v string) *Ami { - s.Image = &v +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *CreateComponentOutput) SetComponentBuildVersionArn(v string) *CreateComponentOutput { + s.ComponentBuildVersionArn = &v return s } -// SetName sets the Name field's value. -func (s *Ami) SetName(v string) *Ami { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *CreateComponentOutput) SetRequestId(v string) *CreateComponentOutput { + s.RequestId = &v return s } -// SetRegion sets the Region field's value. -func (s *Ami) SetRegion(v string) *Ami { - s.Region = &v - return s -} +type CreateContainerRecipeInput struct { + _ struct{} `type:"structure"` -// SetState sets the State field's value. -func (s *Ami) SetState(v *ImageState) *Ami { - s.State = v - return s -} + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` -// Define and configure the output AMIs of the pipeline. -type AmiDistributionConfiguration struct { - _ struct{} `type:"structure"` + // Components for build and test that are included in the container recipe. + // Recipes require a minimum of one build component, and can have a maximum + // of 20 build and test components in any combination. + // + // Components is a required field + Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"` - // The tags to apply to AMIs distributed to this Region. - AmiTags map[string]*string `locationName:"amiTags" min:"1" type:"map"` + // The type of container to create. + // + // ContainerType is a required field + ContainerType *string `locationName:"containerType" type:"string" required:"true" enum:"ContainerType"` - // The description of the AMI distribution configuration. Minimum and maximum - // length are in characters. + // The description of the container recipe. Description *string `locationName:"description" min:"1" type:"string"` - // The KMS key identifier used to encrypt the distributed image. + // The Dockerfile template used to build your image as an inline data blob. + DockerfileTemplateData *string `locationName:"dockerfileTemplateData" min:"1" type:"string"` + + // The Amazon S3 URI for the Dockerfile that will be used to build your container + // image. + DockerfileTemplateUri *string `locationName:"dockerfileTemplateUri" type:"string"` + + // Specifies the operating system version for the base image. + ImageOsVersionOverride *string `locationName:"imageOsVersionOverride" min:"1" type:"string"` + + // A group of options that can be used to configure an instance for building + // and testing container images. + InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"` + + // Identifies which KMS key is used to encrypt the container image. KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` - // Launch permissions can be used to configure which Amazon Web Services accounts - // can use the AMI to launch instances. - LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"` + // The name of the container recipe. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // The name of the output AMI. - Name *string `locationName:"name" min:"1" type:"string"` + // The base image for the container recipe. + // + // ParentImage is a required field + ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"` - // The ID of an account to which you want to distribute an image. - TargetAccountIds []*string `locationName:"targetAccountIds" min:"1" type:"list"` + // Specifies the operating system platform when you use a custom base image. + PlatformOverride *string `locationName:"platformOverride" type:"string" enum:"Platform"` + + // The semantic version of the container recipe. This version follows the semantic + // version syntax. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // Tags that are attached to the container recipe. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The destination repository for the container image. + // + // TargetRepository is a required field + TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure" required:"true"` + + // The working directory for use during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation. @@ -8006,7 +10787,7 @@ type AmiDistributionConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiDistributionConfiguration) String() string { +func (s CreateContainerRecipeInput) String() string { return awsutil.Prettify(s) } @@ -8015,31 +10796,76 @@ func (s AmiDistributionConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiDistributionConfiguration) GoString() string { +func (s CreateContainerRecipeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AmiDistributionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AmiDistributionConfiguration"} - if s.AmiTags != nil && len(s.AmiTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AmiTags", 1)) +func (s *CreateContainerRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContainerRecipeInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Components == nil { + invalidParams.Add(request.NewErrParamRequired("Components")) + } + if s.Components != nil && len(s.Components) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Components", 1)) + } + if s.ContainerType == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerType")) } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.DockerfileTemplateData != nil && len(*s.DockerfileTemplateData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DockerfileTemplateData", 1)) + } + if s.ImageOsVersionOverride != nil && len(*s.ImageOsVersionOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageOsVersionOverride", 1)) + } if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ParentImage == nil { + invalidParams.Add(request.NewErrParamRequired("ParentImage")) + } + if s.ParentImage != nil && len(*s.ParentImage) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1)) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.TargetRepository == nil { + invalidParams.Add(request.NewErrParamRequired("TargetRepository")) + } + if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) + } + if s.Components != nil { + for i, v := range s.Components { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) + } + } } - if s.TargetAccountIds != nil && len(s.TargetAccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetAccountIds", 1)) + if s.InstanceConfiguration != nil { + if err := s.InstanceConfiguration.Validate(); err != nil { + invalidParams.AddNested("InstanceConfiguration", err.(request.ErrInvalidParams)) + } } - if s.LaunchPermission != nil { - if err := s.LaunchPermission.Validate(); err != nil { - invalidParams.AddNested("LaunchPermission", err.(request.ErrInvalidParams)) + if s.TargetRepository != nil { + if err := s.TargetRepository.Validate(); err != nil { + invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams)) } } @@ -8049,48 +10875,114 @@ func (s *AmiDistributionConfiguration) Validate() error { return nil } -// SetAmiTags sets the AmiTags field's value. -func (s *AmiDistributionConfiguration) SetAmiTags(v map[string]*string) *AmiDistributionConfiguration { - s.AmiTags = v +// SetClientToken sets the ClientToken field's value. +func (s *CreateContainerRecipeInput) SetClientToken(v string) *CreateContainerRecipeInput { + s.ClientToken = &v + return s +} + +// SetComponents sets the Components field's value. +func (s *CreateContainerRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateContainerRecipeInput { + s.Components = v + return s +} + +// SetContainerType sets the ContainerType field's value. +func (s *CreateContainerRecipeInput) SetContainerType(v string) *CreateContainerRecipeInput { + s.ContainerType = &v return s } // SetDescription sets the Description field's value. -func (s *AmiDistributionConfiguration) SetDescription(v string) *AmiDistributionConfiguration { +func (s *CreateContainerRecipeInput) SetDescription(v string) *CreateContainerRecipeInput { s.Description = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *AmiDistributionConfiguration) SetKmsKeyId(v string) *AmiDistributionConfiguration { - s.KmsKeyId = &v +// SetDockerfileTemplateData sets the DockerfileTemplateData field's value. +func (s *CreateContainerRecipeInput) SetDockerfileTemplateData(v string) *CreateContainerRecipeInput { + s.DockerfileTemplateData = &v return s } -// SetLaunchPermission sets the LaunchPermission field's value. -func (s *AmiDistributionConfiguration) SetLaunchPermission(v *LaunchPermissionConfiguration) *AmiDistributionConfiguration { - s.LaunchPermission = v +// SetDockerfileTemplateUri sets the DockerfileTemplateUri field's value. +func (s *CreateContainerRecipeInput) SetDockerfileTemplateUri(v string) *CreateContainerRecipeInput { + s.DockerfileTemplateUri = &v + return s +} + +// SetImageOsVersionOverride sets the ImageOsVersionOverride field's value. +func (s *CreateContainerRecipeInput) SetImageOsVersionOverride(v string) *CreateContainerRecipeInput { + s.ImageOsVersionOverride = &v + return s +} + +// SetInstanceConfiguration sets the InstanceConfiguration field's value. +func (s *CreateContainerRecipeInput) SetInstanceConfiguration(v *InstanceConfiguration) *CreateContainerRecipeInput { + s.InstanceConfiguration = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateContainerRecipeInput) SetKmsKeyId(v string) *CreateContainerRecipeInput { + s.KmsKeyId = &v return s } // SetName sets the Name field's value. -func (s *AmiDistributionConfiguration) SetName(v string) *AmiDistributionConfiguration { +func (s *CreateContainerRecipeInput) SetName(v string) *CreateContainerRecipeInput { s.Name = &v return s } -// SetTargetAccountIds sets the TargetAccountIds field's value. -func (s *AmiDistributionConfiguration) SetTargetAccountIds(v []*string) *AmiDistributionConfiguration { - s.TargetAccountIds = v +// SetParentImage sets the ParentImage field's value. +func (s *CreateContainerRecipeInput) SetParentImage(v string) *CreateContainerRecipeInput { + s.ParentImage = &v return s } -// You have exceeded the permitted request rate for the specific operation. -type CallRateLimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetPlatformOverride sets the PlatformOverride field's value. +func (s *CreateContainerRecipeInput) SetPlatformOverride(v string) *CreateContainerRecipeInput { + s.PlatformOverride = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateContainerRecipeInput) SetSemanticVersion(v string) *CreateContainerRecipeInput { + s.SemanticVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateContainerRecipeInput) SetTags(v map[string]*string) *CreateContainerRecipeInput { + s.Tags = v + return s +} + +// SetTargetRepository sets the TargetRepository field's value. +func (s *CreateContainerRecipeInput) SetTargetRepository(v *TargetContainerRepository) *CreateContainerRecipeInput { + s.TargetRepository = v + return s +} + +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *CreateContainerRecipeInput) SetWorkingDirectory(v string) *CreateContainerRecipeInput { + s.WorkingDirectory = &v + return s +} + +type CreateContainerRecipeOutput struct { + _ struct{} `type:"structure"` + + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // Returns the Amazon Resource Name (ARN) of the container recipe that the request + // created. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -8098,7 +10990,7 @@ type CallRateLimitExceededException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CallRateLimitExceededException) String() string { +func (s CreateContainerRecipeOutput) String() string { return awsutil.Prettify(s) } @@ -8107,49 +10999,29 @@ func (s CallRateLimitExceededException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CallRateLimitExceededException) GoString() string { +func (s CreateContainerRecipeOutput) GoString() string { return s.String() } -func newErrorCallRateLimitExceededException(v protocol.ResponseMetadata) error { - return &CallRateLimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *CallRateLimitExceededException) Code() string { - return "CallRateLimitExceededException" -} - -// Message returns the exception's message. -func (s *CallRateLimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *CallRateLimitExceededException) OrigErr() error { - return nil -} - -func (s *CallRateLimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetClientToken sets the ClientToken field's value. +func (s *CreateContainerRecipeOutput) SetClientToken(v string) *CreateContainerRecipeOutput { + s.ClientToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *CallRateLimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *CreateContainerRecipeOutput) SetContainerRecipeArn(v string) *CreateContainerRecipeOutput { + s.ContainerRecipeArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *CallRateLimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetRequestId sets the RequestId field's value. +func (s *CreateContainerRecipeOutput) SetRequestId(v string) *CreateContainerRecipeOutput { + s.RequestId = &v + return s } -type CancelImageCreationInput struct { +type CreateDistributionConfigurationInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -8157,11 +11029,21 @@ type CancelImageCreationInput struct { // in the Amazon EC2 API Reference. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The Amazon Resource Name (ARN) of the image that you want to cancel creation - // for. + // The description of the distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The distributions of the distribution configuration. // - // ImageBuildVersionArn is a required field - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` + // Distributions is a required field + Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"` + + // The name of the distribution configuration. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The tags of the distribution configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -8169,7 +11051,7 @@ type CancelImageCreationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelImageCreationInput) String() string { +func (s CreateDistributionConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -8178,18 +11060,37 @@ func (s CancelImageCreationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelImageCreationInput) GoString() string { +func (s CreateDistributionConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelImageCreationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelImageCreationInput"} +func (s *CreateDistributionConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionConfigurationInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.ImageBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Distributions == nil { + invalidParams.Add(request.NewErrParamRequired("Distributions")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Distributions != nil { + for i, v := range s.Distributions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -8199,25 +11100,44 @@ func (s *CancelImageCreationInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *CancelImageCreationInput) SetClientToken(v string) *CancelImageCreationInput { +func (s *CreateDistributionConfigurationInput) SetClientToken(v string) *CreateDistributionConfigurationInput { s.ClientToken = &v return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *CancelImageCreationInput) SetImageBuildVersionArn(v string) *CancelImageCreationInput { - s.ImageBuildVersionArn = &v +// SetDescription sets the Description field's value. +func (s *CreateDistributionConfigurationInput) SetDescription(v string) *CreateDistributionConfigurationInput { + s.Description = &v return s } -type CancelImageCreationOutput struct { +// SetDistributions sets the Distributions field's value. +func (s *CreateDistributionConfigurationInput) SetDistributions(v []*Distribution) *CreateDistributionConfigurationInput { + s.Distributions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDistributionConfigurationInput) SetName(v string) *CreateDistributionConfigurationInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDistributionConfigurationInput) SetTags(v map[string]*string) *CreateDistributionConfigurationInput { + s.Tags = v + return s +} + +type CreateDistributionConfigurationOutput struct { _ struct{} `type:"structure"` // The client token that uniquely identifies the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The ARN of the image whose creation this request canceled. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The Amazon Resource Name (ARN) of the distribution configuration that was + // created by this request. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -8228,7 +11148,7 @@ type CancelImageCreationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelImageCreationOutput) String() string { +func (s CreateDistributionConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -8237,29 +11157,29 @@ func (s CancelImageCreationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelImageCreationOutput) GoString() string { +func (s CreateDistributionConfigurationOutput) GoString() string { return s.String() } // SetClientToken sets the ClientToken field's value. -func (s *CancelImageCreationOutput) SetClientToken(v string) *CancelImageCreationOutput { +func (s *CreateDistributionConfigurationOutput) SetClientToken(v string) *CreateDistributionConfigurationOutput { s.ClientToken = &v return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *CancelImageCreationOutput) SetImageBuildVersionArn(v string) *CancelImageCreationOutput { - s.ImageBuildVersionArn = &v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *CreateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *CreateDistributionConfigurationOutput { + s.DistributionConfigurationArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CancelImageCreationOutput) SetRequestId(v string) *CancelImageCreationOutput { +func (s *CreateDistributionConfigurationOutput) SetRequestId(v string) *CreateDistributionConfigurationOutput { s.RequestId = &v return s } -type CancelLifecycleExecutionInput struct { +type CreateImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -8267,10 +11187,45 @@ type CancelLifecycleExecutionInput struct { // in the Amazon EC2 API Reference. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // Identifies the specific runtime instance of the image lifecycle to cancel. + // The Amazon Resource Name (ARN) of the container recipe that defines how images + // are configured and tested. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` + + // The Amazon Resource Name (ARN) of the distribution configuration that defines + // and configures the outputs of your pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // Collects additional information about the image being created, including + // the operating system (OS) version and package list. This information is used + // to enhance the overall experience of using EC2 Image Builder. Enabled by + // default. + EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` + + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to perform workflow actions. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image recipe that defines how images + // are configured, tested, and assessed. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + + // Contains settings for vulnerability scans. + ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + + // The image tests configuration of the image. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that defines + // the environment in which your image will be built and tested. // - // LifecycleExecutionId is a required field - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string" required:"true"` + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` + + // The tags of the image. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // Contains an array of workflow configuration objects. + Workflows []*WorkflowConfiguration `locationName:"workflows" type:"list"` } // String returns the string representation. @@ -8278,7 +11233,7 @@ type CancelLifecycleExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelLifecycleExecutionInput) String() string { +func (s CreateImageInput) String() string { return awsutil.Prettify(s) } @@ -8287,18 +11242,44 @@ func (s CancelLifecycleExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelLifecycleExecutionInput) GoString() string { +func (s CreateImageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelLifecycleExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelLifecycleExecutionInput"} +func (s *CreateImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.LifecycleExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) + } + if s.InfrastructureConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.ImageScanningConfiguration != nil { + if err := s.ImageScanningConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ImageTestsConfiguration != nil { + if err := s.ImageTestsConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Workflows != nil { + for i, v := range s.Workflows { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Workflows", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -8308,56 +11289,82 @@ func (s *CancelLifecycleExecutionInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *CancelLifecycleExecutionInput) SetClientToken(v string) *CancelLifecycleExecutionInput { +func (s *CreateImageInput) SetClientToken(v string) *CreateImageInput { s.ClientToken = &v return s } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *CancelLifecycleExecutionInput) SetLifecycleExecutionId(v string) *CancelLifecycleExecutionInput { - s.LifecycleExecutionId = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *CreateImageInput) SetContainerRecipeArn(v string) *CreateImageInput { + s.ContainerRecipeArn = &v return s } -type CancelLifecycleExecutionOutput struct { - _ struct{} `type:"structure"` +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *CreateImageInput) SetDistributionConfigurationArn(v string) *CreateImageInput { + s.DistributionConfigurationArn = &v + return s +} - // The unique identifier for the image lifecycle runtime instance that was canceled. - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` +// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. +func (s *CreateImageInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImageInput { + s.EnhancedImageMetadataEnabled = &v + return s } -// 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 CancelLifecycleExecutionOutput) String() string { - return awsutil.Prettify(s) +// SetExecutionRole sets the ExecutionRole field's value. +func (s *CreateImageInput) SetExecutionRole(v string) *CreateImageInput { + s.ExecutionRole = &v + return 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 CancelLifecycleExecutionOutput) GoString() string { - return s.String() +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *CreateImageInput) SetImageRecipeArn(v string) *CreateImageInput { + s.ImageRecipeArn = &v + return s } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *CancelLifecycleExecutionOutput) SetLifecycleExecutionId(v string) *CancelLifecycleExecutionOutput { - s.LifecycleExecutionId = &v +// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. +func (s *CreateImageInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateImageInput { + s.ImageScanningConfiguration = v return s } -// These errors are usually caused by a client action, such as using an action -// or resource on behalf of a user that doesn't have permissions to use the -// action or resource, or specifying an invalid resource identifier. -type ClientException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *CreateImageInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImageInput { + s.ImageTestsConfiguration = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *CreateImageInput) SetInfrastructureConfigurationArn(v string) *CreateImageInput { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateImageInput) SetTags(v map[string]*string) *CreateImageInput { + s.Tags = v + return s +} + +// SetWorkflows sets the Workflows field's value. +func (s *CreateImageInput) SetWorkflows(v []*WorkflowConfiguration) *CreateImageInput { + s.Workflows = v + return s +} + +type CreateImageOutput struct { + _ struct{} `type:"structure"` + + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image that the request created. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -8365,7 +11372,7 @@ type ClientException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ClientException) String() string { +func (s CreateImageOutput) String() string { return awsutil.Prettify(s) } @@ -8374,112 +11381,89 @@ func (s ClientException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ClientException) GoString() string { +func (s CreateImageOutput) GoString() string { return s.String() } -func newErrorClientException(v protocol.ResponseMetadata) error { - return &ClientException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ClientException) Code() string { - return "ClientException" -} - -// Message returns the exception's message. -func (s *ClientException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ClientException) OrigErr() error { - return nil -} - -func (s *ClientException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetClientToken sets the ClientToken field's value. +func (s *CreateImageOutput) SetClientToken(v string) *CreateImageOutput { + s.ClientToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ClientException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *CreateImageOutput) SetImageBuildVersionArn(v string) *CreateImageOutput { + s.ImageBuildVersionArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ClientException) RequestID() string { - return s.RespMetadata.RequestID +// SetRequestId sets the RequestId field's value. +func (s *CreateImageOutput) SetRequestId(v string) *CreateImageOutput { + s.RequestId = &v + return s } -// A detailed view of a component. -type Component struct { +type CreateImagePipelineInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the component. - Arn *string `locationName:"arn" type:"string"` - - // The change description of the component. - ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - - // Component data contains the YAML document content for the component. - Data *string `locationName:"data" type:"string"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The date that Image Builder created the component. - DateCreated *string `locationName:"dateCreated" type:"string"` + // The Amazon Resource Name (ARN) of the container recipe that is used to configure + // images created by this container pipeline. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - // The description of the component. + // The description of the image pipeline. Description *string `locationName:"description" min:"1" type:"string"` - // The encryption status of the component. - Encrypted *bool `locationName:"encrypted" type:"boolean"` - - // The KMS key identifier used to encrypt the component. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the distribution configuration that will + // be used to configure and distribute images created by this image pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` - // The name of the component. - Name *string `locationName:"name" type:"string"` + // Collects additional information about the image being created, including + // the operating system (OS) version and package list. This information is used + // to enhance the overall experience of using EC2 Image Builder. Enabled by + // default. + EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - // Indicates whether component source is hidden from view in the console, and - // from component detail results for API, CLI, or SDK operations. - Obfuscate *bool `locationName:"obfuscate" type:"boolean"` + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to perform workflow actions. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` - // The owner of the component. - Owner *string `locationName:"owner" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the image recipe that will be used to configure + // images created by this image pipeline. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - // Contains parameter details for each of the parameters that the component - // document defined for the component. - Parameters []*ComponentParameterDetail `locationName:"parameters" type:"list"` + // Contains settings for vulnerability scans. + ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` - // The operating system platform of the component. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The image test configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` - // Contains the name of the publisher if this is a third-party component. Otherwise, - // this property is empty. - Publisher *string `locationName:"publisher" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the infrastructure configuration that will + // be used to build images created by this image pipeline. + // + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` - // Describes the current status of the component. This is used for components - // that are no longer active. - State *ComponentState `locationName:"state" type:"structure"` + // The name of the image pipeline. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // The operating system (OS) version supported by the component. If the OS information - // is available, Image Builder performs a prefix match against the base image - // OS version during image recipe creation. - SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The schedule of the image pipeline. + Schedule *Schedule `locationName:"schedule" type:"structure"` - // The tags that apply to the component. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The status of the image pipeline. + Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` - // The component type specifies whether Image Builder uses the component to - // build the image or only to test it. - Type *string `locationName:"type" type:"string" enum:"ComponentType"` + // The tags of the image pipeline. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The version of the component. - Version *string `locationName:"version" type:"string"` + // Contains an array of workflow configuration objects. + Workflows []*WorkflowConfiguration `locationName:"workflows" type:"list"` } // String returns the string representation. @@ -8487,7 +11471,7 @@ type Component struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Component) String() string { +func (s CreateImagePipelineInput) String() string { return awsutil.Prettify(s) } @@ -8496,201 +11480,165 @@ func (s Component) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Component) GoString() string { +func (s CreateImagePipelineInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Component) SetArn(v string) *Component { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImagePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImagePipelineInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) + } + if s.InfrastructureConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.ImageScanningConfiguration != nil { + if err := s.ImageScanningConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ImageTestsConfiguration != nil { + if err := s.ImageTestsConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } + if s.Workflows != nil { + for i, v := range s.Workflows { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Workflows", i), err.(request.ErrInvalidParams)) + } + } + } -// SetChangeDescription sets the ChangeDescription field's value. -func (s *Component) SetChangeDescription(v string) *Component { - s.ChangeDescription = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetData sets the Data field's value. -func (s *Component) SetData(v string) *Component { - s.Data = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateImagePipelineInput) SetClientToken(v string) *CreateImagePipelineInput { + s.ClientToken = &v return s } -// SetDateCreated sets the DateCreated field's value. -func (s *Component) SetDateCreated(v string) *Component { - s.DateCreated = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *CreateImagePipelineInput) SetContainerRecipeArn(v string) *CreateImagePipelineInput { + s.ContainerRecipeArn = &v return s } // SetDescription sets the Description field's value. -func (s *Component) SetDescription(v string) *Component { +func (s *CreateImagePipelineInput) SetDescription(v string) *CreateImagePipelineInput { s.Description = &v return s } -// SetEncrypted sets the Encrypted field's value. -func (s *Component) SetEncrypted(v bool) *Component { - s.Encrypted = &v - return s -} - -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *Component) SetKmsKeyId(v string) *Component { - s.KmsKeyId = &v - return s -} - -// SetName sets the Name field's value. -func (s *Component) SetName(v string) *Component { - s.Name = &v - return s -} - -// SetObfuscate sets the Obfuscate field's value. -func (s *Component) SetObfuscate(v bool) *Component { - s.Obfuscate = &v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *CreateImagePipelineInput) SetDistributionConfigurationArn(v string) *CreateImagePipelineInput { + s.DistributionConfigurationArn = &v return s } -// SetOwner sets the Owner field's value. -func (s *Component) SetOwner(v string) *Component { - s.Owner = &v +// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. +func (s *CreateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImagePipelineInput { + s.EnhancedImageMetadataEnabled = &v return s } -// SetParameters sets the Parameters field's value. -func (s *Component) SetParameters(v []*ComponentParameterDetail) *Component { - s.Parameters = v +// SetExecutionRole sets the ExecutionRole field's value. +func (s *CreateImagePipelineInput) SetExecutionRole(v string) *CreateImagePipelineInput { + s.ExecutionRole = &v return s } -// SetPlatform sets the Platform field's value. -func (s *Component) SetPlatform(v string) *Component { - s.Platform = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *CreateImagePipelineInput) SetImageRecipeArn(v string) *CreateImagePipelineInput { + s.ImageRecipeArn = &v return s } -// SetPublisher sets the Publisher field's value. -func (s *Component) SetPublisher(v string) *Component { - s.Publisher = &v +// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. +func (s *CreateImagePipelineInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateImagePipelineInput { + s.ImageScanningConfiguration = v return s } -// SetState sets the State field's value. -func (s *Component) SetState(v *ComponentState) *Component { - s.State = v +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *CreateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImagePipelineInput { + s.ImageTestsConfiguration = v return s } -// SetSupportedOsVersions sets the SupportedOsVersions field's value. -func (s *Component) SetSupportedOsVersions(v []*string) *Component { - s.SupportedOsVersions = v +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *CreateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *CreateImagePipelineInput { + s.InfrastructureConfigurationArn = &v return s } -// SetTags sets the Tags field's value. -func (s *Component) SetTags(v map[string]*string) *Component { - s.Tags = v +// SetName sets the Name field's value. +func (s *CreateImagePipelineInput) SetName(v string) *CreateImagePipelineInput { + s.Name = &v return s } -// SetType sets the Type field's value. -func (s *Component) SetType(v string) *Component { - s.Type = &v +// SetSchedule sets the Schedule field's value. +func (s *CreateImagePipelineInput) SetSchedule(v *Schedule) *CreateImagePipelineInput { + s.Schedule = v return s } -// SetVersion sets the Version field's value. -func (s *Component) SetVersion(v string) *Component { - s.Version = &v +// SetStatus sets the Status field's value. +func (s *CreateImagePipelineInput) SetStatus(v string) *CreateImagePipelineInput { + s.Status = &v return s } -// Configuration details of the component. -type ComponentConfiguration struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the component. - // - // ComponentArn is a required field - ComponentArn *string `locationName:"componentArn" type:"string" required:"true"` - - // A group of parameter settings that Image Builder uses to configure the component - // for a specific recipe. - Parameters []*ComponentParameter `locationName:"parameters" min:"1" 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 ComponentConfiguration) 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 ComponentConfiguration) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ComponentConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComponentConfiguration"} - if s.ComponentArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentArn")) - } - if s.Parameters != nil && len(s.Parameters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) - } - if s.Parameters != nil { - for i, v := range s.Parameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComponentArn sets the ComponentArn field's value. -func (s *ComponentConfiguration) SetComponentArn(v string) *ComponentConfiguration { - s.ComponentArn = &v +// SetTags sets the Tags field's value. +func (s *CreateImagePipelineInput) SetTags(v map[string]*string) *CreateImagePipelineInput { + s.Tags = v return s } -// SetParameters sets the Parameters field's value. -func (s *ComponentConfiguration) SetParameters(v []*ComponentParameter) *ComponentConfiguration { - s.Parameters = v +// SetWorkflows sets the Workflows field's value. +func (s *CreateImagePipelineInput) SetWorkflows(v []*WorkflowConfiguration) *CreateImagePipelineInput { + s.Workflows = v return s } -// Contains a key/value pair that sets the named component parameter. -type ComponentParameter struct { +type CreateImagePipelineOutput struct { _ struct{} `type:"structure"` - // The name of the component parameter to set. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // Sets the value for the named component parameter. - // - // Value is a required field - Value []*string `locationName:"value" type:"list" required:"true"` + // The Amazon Resource Name (ARN) of the image pipeline that was created by + // this request. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -8698,7 +11646,7 @@ type ComponentParameter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentParameter) String() string { +func (s CreateImagePipelineOutput) String() string { return awsutil.Prettify(s) } @@ -8707,62 +11655,89 @@ func (s ComponentParameter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentParameter) GoString() string { +func (s CreateImagePipelineOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ComponentParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComponentParameter"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetClientToken sets the ClientToken field's value. +func (s *CreateImagePipelineOutput) SetClientToken(v string) *CreateImagePipelineOutput { + s.ClientToken = &v + return s } -// SetName sets the Name field's value. -func (s *ComponentParameter) SetName(v string) *ComponentParameter { - s.Name = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *CreateImagePipelineOutput) SetImagePipelineArn(v string) *CreateImagePipelineOutput { + s.ImagePipelineArn = &v return s } -// SetValue sets the Value field's value. -func (s *ComponentParameter) SetValue(v []*string) *ComponentParameter { - s.Value = v +// SetRequestId sets the RequestId field's value. +func (s *CreateImagePipelineOutput) SetRequestId(v string) *CreateImagePipelineOutput { + s.RequestId = &v return s } -// Defines a parameter that is used to provide configuration details for the -// component. -type ComponentParameterDetail struct { +type CreateImageRecipeInput struct { _ struct{} `type:"structure"` - // The default value of this parameter if no input is provided. - DefaultValue []*string `locationName:"defaultValue" type:"list"` + // Specify additional settings and launch scripts for your build instances. + AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"` - // Describes this parameter. + // The block device mappings of the image recipe. + BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The components included in the image recipe. + // + // Components is a required field + Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"` + + // The description of the image recipe. Description *string `locationName:"description" min:"1" type:"string"` - // The name of this input parameter. + // The name of the image recipe. // // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + Name *string `locationName:"name" type:"string" required:"true"` - // The type of input this parameter provides. The currently supported value - // is "string". + // The base image of the image recipe. The value of the string can be the ARN + // of the base image or an AMI ID. The format for the ARN follows this example: + // arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x. + // You can provide the specific version that you want to use, or you can use + // a wildcard in all of the fields. If you enter an AMI ID for the string value, + // you must have access to the AMI, and the AMI must be in the same Region in + // which you are using Image Builder. // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // ParentImage is a required field + ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"` + + // The semantic version of the image recipe. This version follows the semantic + // version syntax. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // The tags of the image recipe. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The working directory used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation. @@ -8770,7 +11745,7 @@ type ComponentParameterDetail struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentParameterDetail) String() string { +func (s CreateImageRecipeInput) String() string { return awsutil.Prettify(s) } @@ -8779,44 +11754,147 @@ func (s ComponentParameterDetail) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentParameterDetail) GoString() string { +func (s CreateImageRecipeInput) GoString() string { return s.String() } -// SetDefaultValue sets the DefaultValue field's value. -func (s *ComponentParameterDetail) SetDefaultValue(v []*string) *ComponentParameterDetail { - s.DefaultValue = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImageRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImageRecipeInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Components == nil { + invalidParams.Add(request.NewErrParamRequired("Components")) + } + if s.Components != nil && len(s.Components) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Components", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ParentImage == nil { + invalidParams.Add(request.NewErrParamRequired("ParentImage")) + } + if s.ParentImage != nil && len(*s.ParentImage) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1)) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) + } + if s.AdditionalInstanceConfiguration != nil { + if err := s.AdditionalInstanceConfiguration.Validate(); err != nil { + invalidParams.AddNested("AdditionalInstanceConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.BlockDeviceMappings != nil { + for i, v := range s.BlockDeviceMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Components != nil { + for i, v := range s.Components { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value. +func (s *CreateImageRecipeInput) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *CreateImageRecipeInput { + s.AdditionalInstanceConfiguration = v + return s +} + +// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. +func (s *CreateImageRecipeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *CreateImageRecipeInput { + s.BlockDeviceMappings = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateImageRecipeInput) SetClientToken(v string) *CreateImageRecipeInput { + s.ClientToken = &v + return s +} + +// SetComponents sets the Components field's value. +func (s *CreateImageRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateImageRecipeInput { + s.Components = v return s } // SetDescription sets the Description field's value. -func (s *ComponentParameterDetail) SetDescription(v string) *ComponentParameterDetail { +func (s *CreateImageRecipeInput) SetDescription(v string) *CreateImageRecipeInput { s.Description = &v return s } // SetName sets the Name field's value. -func (s *ComponentParameterDetail) SetName(v string) *ComponentParameterDetail { +func (s *CreateImageRecipeInput) SetName(v string) *CreateImageRecipeInput { s.Name = &v return s } -// SetType sets the Type field's value. -func (s *ComponentParameterDetail) SetType(v string) *ComponentParameterDetail { - s.Type = &v +// SetParentImage sets the ParentImage field's value. +func (s *CreateImageRecipeInput) SetParentImage(v string) *CreateImageRecipeInput { + s.ParentImage = &v return s } -// A group of fields that describe the current status of components that are -// no longer active. -type ComponentState struct { +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateImageRecipeInput) SetSemanticVersion(v string) *CreateImageRecipeInput { + s.SemanticVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateImageRecipeInput) SetTags(v map[string]*string) *CreateImageRecipeInput { + s.Tags = v + return s +} + +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *CreateImageRecipeInput) SetWorkingDirectory(v string) *CreateImageRecipeInput { + s.WorkingDirectory = &v + return s +} + +type CreateImageRecipeOutput struct { _ struct{} `type:"structure"` - // Describes how or why the component changed state. - Reason *string `locationName:"reason" min:"1" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The current state of the component. - Status *string `locationName:"status" type:"string" enum:"ComponentStatus"` + // The Amazon Resource Name (ARN) of the image recipe that was created by this + // request. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -8824,7 +11902,7 @@ type ComponentState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentState) String() string { +func (s CreateImageRecipeOutput) String() string { return awsutil.Prettify(s) } @@ -8833,72 +11911,93 @@ func (s ComponentState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentState) GoString() string { +func (s CreateImageRecipeOutput) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *ComponentState) SetReason(v string) *ComponentState { - s.Reason = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateImageRecipeOutput) SetClientToken(v string) *CreateImageRecipeOutput { + s.ClientToken = &v return s } -// SetStatus sets the Status field's value. -func (s *ComponentState) SetStatus(v string) *ComponentState { - s.Status = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *CreateImageRecipeOutput) SetImageRecipeArn(v string) *CreateImageRecipeOutput { + s.ImageRecipeArn = &v return s } -// A high-level summary of a component. -type ComponentSummary struct { +// SetRequestId sets the RequestId field's value. +func (s *CreateImageRecipeOutput) SetRequestId(v string) *CreateImageRecipeOutput { + s.RequestId = &v + return s +} + +type CreateInfrastructureConfigurationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the component. - Arn *string `locationName:"arn" type:"string"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The change description for the current version of the component. - ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + // The description of the infrastructure configuration. + Description *string `locationName:"description" min:"1" type:"string"` - // The original creation date of the component. - DateCreated *string `locationName:"dateCreated" type:"string"` + // The instance metadata options that you can set for the HTTP requests that + // pipeline builds use to launch EC2 build and test instances. + InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` - // The description of the component. - Description *string `locationName:"description" min:"1" type:"string"` + // The instance profile to associate with the instance used to customize your + // Amazon EC2 AMI. + // + // InstanceProfileName is a required field + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"` - // The name of the component. - Name *string `locationName:"name" type:"string"` + // The instance types of the infrastructure configuration. You can specify one + // or more instance types to use for this build. The service will pick one of + // these instance types based on availability. + InstanceTypes []*string `locationName:"instanceTypes" type:"list"` - // Indicates whether component source is hidden from view in the console, and - // from component detail results for API, CLI, or SDK operations. - Obfuscate *bool `locationName:"obfuscate" type:"boolean"` + // The key pair of the infrastructure configuration. You can use this to log + // on to and debug the instance used to create your image. + KeyPair *string `locationName:"keyPair" min:"1" type:"string"` - // The owner of the component. - Owner *string `locationName:"owner" min:"1" type:"string"` + // The logging configuration of the infrastructure configuration. + Logging *Logging `locationName:"logging" type:"structure"` - // The operating system platform of the component. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The name of the infrastructure configuration. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // Contains the name of the publisher if this is a third-party component. Otherwise, - // this property is empty. - Publisher *string `locationName:"publisher" min:"1" type:"string"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` - // Describes the current status of the component. - State *ComponentState `locationName:"state" type:"structure"` + // The security group IDs to associate with the instance used to customize your + // Amazon EC2 AMI. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - // The operating system (OS) version that the component supports. If the OS - // information is available, Image Builder performs a prefix match against the - // base image OS version during image recipe creation. - SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The Amazon Resource Name (ARN) for the SNS topic to which we send image build + // event notifications. + // + // EC2 Image Builder is unable to send notifications to SNS topics that are + // encrypted using keys from other accounts. The key that is used to encrypt + // the SNS topic must reside in the account that the Image Builder service runs + // under. + SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` - // The tags that apply to the component. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The subnet ID in which to place the instance used to customize your Amazon + // EC2 AMI. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` - // The component type specifies whether Image Builder uses the component to - // build the image or only to test it. - Type *string `locationName:"type" type:"string" enum:"ComponentType"` + // The tags of the infrastructure configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The version of the component. - Version *string `locationName:"version" type:"string"` + // The terminate instance on failure setting of the infrastructure configuration. + // Set to false if you want Image Builder to retain the instance used to configure + // your AMI if the build or test phase of your workflow fails. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` } // String returns the string representation. @@ -8906,7 +12005,7 @@ type ComponentSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentSummary) String() string { +func (s CreateInfrastructureConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -8915,157 +12014,233 @@ func (s ComponentSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentSummary) GoString() string { +func (s CreateInfrastructureConfigurationInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ComponentSummary) SetArn(v string) *ComponentSummary { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInfrastructureConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInfrastructureConfigurationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.InstanceProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) + } + if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) + } + if s.KeyPair != nil && len(*s.KeyPair) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.InstanceMetadataOptions != nil { + if err := s.InstanceMetadataOptions.Validate(); err != nil { + invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams)) + } + } + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateInfrastructureConfigurationInput) SetClientToken(v string) *CreateInfrastructureConfigurationInput { + s.ClientToken = &v return s } -// SetChangeDescription sets the ChangeDescription field's value. -func (s *ComponentSummary) SetChangeDescription(v string) *ComponentSummary { - s.ChangeDescription = &v +// SetDescription sets the Description field's value. +func (s *CreateInfrastructureConfigurationInput) SetDescription(v string) *CreateInfrastructureConfigurationInput { + s.Description = &v return s } -// SetDateCreated sets the DateCreated field's value. -func (s *ComponentSummary) SetDateCreated(v string) *ComponentSummary { - s.DateCreated = &v +// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. +func (s *CreateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *CreateInfrastructureConfigurationInput { + s.InstanceMetadataOptions = v return s } -// SetDescription sets the Description field's value. -func (s *ComponentSummary) SetDescription(v string) *ComponentSummary { - s.Description = &v +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *CreateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *CreateInfrastructureConfigurationInput { + s.InstanceProfileName = &v + return s +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *CreateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *CreateInfrastructureConfigurationInput { + s.InstanceTypes = v + return s +} + +// SetKeyPair sets the KeyPair field's value. +func (s *CreateInfrastructureConfigurationInput) SetKeyPair(v string) *CreateInfrastructureConfigurationInput { + s.KeyPair = &v + return s +} + +// SetLogging sets the Logging field's value. +func (s *CreateInfrastructureConfigurationInput) SetLogging(v *Logging) *CreateInfrastructureConfigurationInput { + s.Logging = v return s } // SetName sets the Name field's value. -func (s *ComponentSummary) SetName(v string) *ComponentSummary { +func (s *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfrastructureConfigurationInput { s.Name = &v return s } -// SetObfuscate sets the Obfuscate field's value. -func (s *ComponentSummary) SetObfuscate(v bool) *ComponentSummary { - s.Obfuscate = &v +// SetResourceTags sets the ResourceTags field's value. +func (s *CreateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *CreateInfrastructureConfigurationInput { + s.ResourceTags = v return s } -// SetOwner sets the Owner field's value. -func (s *ComponentSummary) SetOwner(v string) *ComponentSummary { - s.Owner = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput { + s.SecurityGroupIds = v return s } -// SetPlatform sets the Platform field's value. -func (s *ComponentSummary) SetPlatform(v string) *ComponentSummary { - s.Platform = &v +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *CreateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *CreateInfrastructureConfigurationInput { + s.SnsTopicArn = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *CreateInfrastructureConfigurationInput) SetSubnetId(v string) *CreateInfrastructureConfigurationInput { + s.SubnetId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateInfrastructureConfigurationInput) SetTags(v map[string]*string) *CreateInfrastructureConfigurationInput { + s.Tags = v return s } -// SetPublisher sets the Publisher field's value. -func (s *ComponentSummary) SetPublisher(v string) *ComponentSummary { - s.Publisher = &v - return s +// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. +func (s *CreateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *CreateInfrastructureConfigurationInput { + s.TerminateInstanceOnFailure = &v + return s +} + +type CreateInfrastructureConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that was + // created by this request. + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetState sets the State field's value. -func (s *ComponentSummary) SetState(v *ComponentState) *ComponentSummary { - s.State = v - return s +// 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 CreateInfrastructureConfigurationOutput) String() string { + return awsutil.Prettify(s) } -// SetSupportedOsVersions sets the SupportedOsVersions field's value. -func (s *ComponentSummary) SetSupportedOsVersions(v []*string) *ComponentSummary { - s.SupportedOsVersions = v - return 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 CreateInfrastructureConfigurationOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *ComponentSummary) SetTags(v map[string]*string) *ComponentSummary { - s.Tags = v +// SetClientToken sets the ClientToken field's value. +func (s *CreateInfrastructureConfigurationOutput) SetClientToken(v string) *CreateInfrastructureConfigurationOutput { + s.ClientToken = &v return s } -// SetType sets the Type field's value. -func (s *ComponentSummary) SetType(v string) *ComponentSummary { - s.Type = &v +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *CreateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *CreateInfrastructureConfigurationOutput { + s.InfrastructureConfigurationArn = &v return s } -// SetVersion sets the Version field's value. -func (s *ComponentSummary) SetVersion(v string) *ComponentSummary { - s.Version = &v +// SetRequestId sets the RequestId field's value. +func (s *CreateInfrastructureConfigurationOutput) SetRequestId(v string) *CreateInfrastructureConfigurationOutput { + s.RequestId = &v return s } -// The defining characteristics of a specific version of an Amazon Web Services -// TOE component. -type ComponentVersion struct { +type CreateLifecyclePolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the component. - // - // Semantic versioning is included in each object's Amazon Resource Name (ARN), - // at the level that applies to that object as follows: - // - // Versionless ARNs and Name ARNs do not include specific values in any of the - // nodes. The nodes are either left off entirely, or they are specified as wildcards, - // for example: x.x.x. - // - // Version ARNs have only the first three nodes: .. - // - // Build version ARNs have all four nodes, and point to a specific build for - // a specific version of an object. - Arn *string `locationName:"arn" type:"string"` - - // The date that the component was created. - DateCreated *string `locationName:"dateCreated" type:"string"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The description of the component. + // Optional description for the lifecycle policy. Description *string `locationName:"description" min:"1" type:"string"` - // The name of the component. - Name *string `locationName:"name" type:"string"` - - // The owner of the component. - Owner *string `locationName:"owner" min:"1" type:"string"` - - // The platform of the component. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` - - // he operating system (OS) version supported by the component. If the OS information - // is available, a prefix match is performed against the base image OS version - // during image recipe creation. - SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` - - // The type of the component denotes whether the component is used to build - // the image or only to test it. - Type *string `locationName:"type" type:"string" enum:"ComponentType"` + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to run lifecycle actions. + // + // ExecutionRole is a required field + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string" required:"true"` - // The semantic version of the component. + // The name of the lifecycle policy to create. // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Configuration details for the lifecycle policy rules. // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. + // PolicyDetails is a required field + PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list" required:"true"` + + // Selection criteria for the resources that the lifecycle policy applies to. // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // ResourceSelection is a required field + ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure" required:"true"` + + // The type of Image Builder resource that the lifecycle policy applies to. // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. - Version *string `locationName:"version" type:"string"` + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"LifecyclePolicyResourceType"` + + // Indicates whether the lifecycle policy resource is enabled. + Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + + // Tags to apply to the lifecycle policy resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -9073,7 +12248,7 @@ type ComponentVersion struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentVersion) String() string { +func (s CreateLifecyclePolicyInput) String() string { return awsutil.Prettify(s) } @@ -9082,74 +12257,127 @@ func (s ComponentVersion) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ComponentVersion) GoString() string { +func (s CreateLifecyclePolicyInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ComponentVersion) SetArn(v string) *ComponentVersion { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLifecyclePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLifecyclePolicyInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ExecutionRole == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) + } + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.PolicyDetails == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyDetails")) + } + if s.PolicyDetails != nil && len(s.PolicyDetails) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyDetails", 1)) + } + if s.ResourceSelection == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceSelection")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.PolicyDetails != nil { + for i, v := range s.PolicyDetails { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyDetails", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceSelection != nil { + if err := s.ResourceSelection.Validate(); err != nil { + invalidParams.AddNested("ResourceSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateCreated sets the DateCreated field's value. -func (s *ComponentVersion) SetDateCreated(v string) *ComponentVersion { - s.DateCreated = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateLifecyclePolicyInput) SetClientToken(v string) *CreateLifecyclePolicyInput { + s.ClientToken = &v return s } // SetDescription sets the Description field's value. -func (s *ComponentVersion) SetDescription(v string) *ComponentVersion { +func (s *CreateLifecyclePolicyInput) SetDescription(v string) *CreateLifecyclePolicyInput { s.Description = &v return s } +// SetExecutionRole sets the ExecutionRole field's value. +func (s *CreateLifecyclePolicyInput) SetExecutionRole(v string) *CreateLifecyclePolicyInput { + s.ExecutionRole = &v + return s +} + // SetName sets the Name field's value. -func (s *ComponentVersion) SetName(v string) *ComponentVersion { +func (s *CreateLifecyclePolicyInput) SetName(v string) *CreateLifecyclePolicyInput { s.Name = &v return s } -// SetOwner sets the Owner field's value. -func (s *ComponentVersion) SetOwner(v string) *ComponentVersion { - s.Owner = &v +// SetPolicyDetails sets the PolicyDetails field's value. +func (s *CreateLifecyclePolicyInput) SetPolicyDetails(v []*LifecyclePolicyDetail) *CreateLifecyclePolicyInput { + s.PolicyDetails = v return s } -// SetPlatform sets the Platform field's value. -func (s *ComponentVersion) SetPlatform(v string) *ComponentVersion { - s.Platform = &v +// SetResourceSelection sets the ResourceSelection field's value. +func (s *CreateLifecyclePolicyInput) SetResourceSelection(v *LifecyclePolicyResourceSelection) *CreateLifecyclePolicyInput { + s.ResourceSelection = v return s } -// SetSupportedOsVersions sets the SupportedOsVersions field's value. -func (s *ComponentVersion) SetSupportedOsVersions(v []*string) *ComponentVersion { - s.SupportedOsVersions = v +// SetResourceType sets the ResourceType field's value. +func (s *CreateLifecyclePolicyInput) SetResourceType(v string) *CreateLifecyclePolicyInput { + s.ResourceType = &v return s } -// SetType sets the Type field's value. -func (s *ComponentVersion) SetType(v string) *ComponentVersion { - s.Type = &v +// SetStatus sets the Status field's value. +func (s *CreateLifecyclePolicyInput) SetStatus(v string) *CreateLifecyclePolicyInput { + s.Status = &v return s } -// SetVersion sets the Version field's value. -func (s *ComponentVersion) SetVersion(v string) *ComponentVersion { - s.Version = &v +// SetTags sets the Tags field's value. +func (s *CreateLifecyclePolicyInput) SetTags(v map[string]*string) *CreateLifecyclePolicyInput { + s.Tags = v return s } -// A container encapsulates the runtime environment for an application. -type Container struct { +type CreateLifecyclePolicyOutput struct { _ struct{} `type:"structure"` - // A list of URIs for containers created in the context Region. - ImageUris []*string `locationName:"imageUris" type:"list"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // Containers and container images are Region-specific. This is the Region context - // for the container. - Region *string `locationName:"region" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the lifecycle policy that the request created. + LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` } // String returns the string representation. @@ -9157,7 +12385,7 @@ type Container struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Container) String() string { +func (s CreateLifecyclePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -9166,37 +12394,84 @@ func (s Container) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Container) GoString() string { +func (s CreateLifecyclePolicyOutput) GoString() string { return s.String() } -// SetImageUris sets the ImageUris field's value. -func (s *Container) SetImageUris(v []*string) *Container { - s.ImageUris = v +// SetClientToken sets the ClientToken field's value. +func (s *CreateLifecyclePolicyOutput) SetClientToken(v string) *CreateLifecyclePolicyOutput { + s.ClientToken = &v return s } -// SetRegion sets the Region field's value. -func (s *Container) SetRegion(v string) *Container { - s.Region = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *CreateLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *CreateLifecyclePolicyOutput { + s.LifecyclePolicyArn = &v return s } -// Container distribution settings for encryption, licensing, and sharing in -// a specific Region. -type ContainerDistributionConfiguration struct { +type CreateWorkflowInput struct { _ struct{} `type:"structure"` - // Tags that are attached to the container distribution configuration. - ContainerTags []*string `locationName:"containerTags" type:"list"` + // Describes what change has been made in this version of the workflow, or what + // makes this version different from other versions of the workflow. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - // The description of the container distribution configuration. + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Contains the UTF-8 encoded YAML document content for the workflow. Alternatively, + // you can specify the uri of a YAML document file stored in Amazon S3. However, + // you cannot specify both properties. + Data *string `locationName:"data" min:"1" type:"string"` + + // Describes the workflow. Description *string `locationName:"description" min:"1" type:"string"` - // The destination repository for the container distribution configuration. + // The ID of the KMS key that is used to encrypt this workflow resource. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the workflow to create. // - // TargetRepository is a required field - TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure" required:"true"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The semantic version of this workflow resource. The semantic version syntax + // adheres to the following rules. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // Tags that apply to the workflow resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The phase in the image build process for which the workflow resource is responsible. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"WorkflowType"` + + // The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), + // and the requester must have permission to access the S3 bucket it points + // to. If you use Amazon S3, you can specify component content up to your service + // quota. + // + // Alternatively, you can specify the YAML document inline, using the component + // data property. You cannot specify both properties. + Uri *string `locationName:"uri" type:"string"` } // String returns the string representation. @@ -9204,7 +12479,7 @@ type ContainerDistributionConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerDistributionConfiguration) String() string { +func (s CreateWorkflowInput) String() string { return awsutil.Prettify(s) } @@ -9213,23 +12488,39 @@ func (s ContainerDistributionConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerDistributionConfiguration) GoString() string { +func (s CreateWorkflowInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContainerDistributionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContainerDistributionConfiguration"} +func (s *CreateWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowInput"} + if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Data != nil && len(*s.Data) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Data", 1)) + } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.TargetRepository == nil { - invalidParams.Add(request.NewErrParamRequired("TargetRepository")) + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } - if s.TargetRepository != nil { - if err := s.TargetRepository.Validate(); err != nil { - invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams)) - } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -9238,115 +12529,75 @@ func (s *ContainerDistributionConfiguration) Validate() error { return nil } -// SetContainerTags sets the ContainerTags field's value. -func (s *ContainerDistributionConfiguration) SetContainerTags(v []*string) *ContainerDistributionConfiguration { - s.ContainerTags = v +// SetChangeDescription sets the ChangeDescription field's value. +func (s *CreateWorkflowInput) SetChangeDescription(v string) *CreateWorkflowInput { + s.ChangeDescription = &v return s } -// SetDescription sets the Description field's value. -func (s *ContainerDistributionConfiguration) SetDescription(v string) *ContainerDistributionConfiguration { - s.Description = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateWorkflowInput) SetClientToken(v string) *CreateWorkflowInput { + s.ClientToken = &v return s } -// SetTargetRepository sets the TargetRepository field's value. -func (s *ContainerDistributionConfiguration) SetTargetRepository(v *TargetContainerRepository) *ContainerDistributionConfiguration { - s.TargetRepository = v +// SetData sets the Data field's value. +func (s *CreateWorkflowInput) SetData(v string) *CreateWorkflowInput { + s.Data = &v return s } -// A container recipe. -type ContainerRecipe struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the container recipe. - // - // Semantic versioning is included in each object's Amazon Resource Name (ARN), - // at the level that applies to that object as follows: - // - // Versionless ARNs and Name ARNs do not include specific values in any of the - // nodes. The nodes are either left off entirely, or they are specified as wildcards, - // for example: x.x.x. - // - // Version ARNs have only the first three nodes: .. - // - // Build version ARNs have all four nodes, and point to a specific build for - // a specific version of an object. - Arn *string `locationName:"arn" type:"string"` - - // Build and test components that are included in the container recipe. Recipes - // require a minimum of one build component, and can have a maximum of 20 build - // and test components in any combination. - Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"` - - // Specifies the type of container, such as Docker. - ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"` - - // The date when this container recipe was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The description of the container recipe. - Description *string `locationName:"description" min:"1" type:"string"` - - // Dockerfiles are text documents that are used to build Docker containers, - // and ensure that they contain all of the elements required by the application - // running inside. The template data consists of contextual variables where - // Image Builder places build information or scripts, based on your container - // image recipe. - DockerfileTemplateData *string `locationName:"dockerfileTemplateData" type:"string"` - - // A flag that indicates if the target container is encrypted. - Encrypted *bool `locationName:"encrypted" type:"boolean"` - - // A group of options that can be used to configure an instance for building - // and testing container images. - InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"` +// SetDescription sets the Description field's value. +func (s *CreateWorkflowInput) SetDescription(v string) *CreateWorkflowInput { + s.Description = &v + return s +} - // Identifies which KMS key is used to encrypt the container image for distribution - // to the target Region. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateWorkflowInput) SetKmsKeyId(v string) *CreateWorkflowInput { + s.KmsKeyId = &v + return s +} - // The name of the container recipe. - Name *string `locationName:"name" type:"string"` +// SetName sets the Name field's value. +func (s *CreateWorkflowInput) SetName(v string) *CreateWorkflowInput { + s.Name = &v + return s +} - // The owner of the container recipe. - Owner *string `locationName:"owner" min:"1" type:"string"` +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *CreateWorkflowInput) SetSemanticVersion(v string) *CreateWorkflowInput { + s.SemanticVersion = &v + return s +} - // The base image for the container recipe. - ParentImage *string `locationName:"parentImage" min:"1" type:"string"` +// SetTags sets the Tags field's value. +func (s *CreateWorkflowInput) SetTags(v map[string]*string) *CreateWorkflowInput { + s.Tags = v + return s +} - // The system platform for the container, such as Windows or Linux. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` +// SetType sets the Type field's value. +func (s *CreateWorkflowInput) SetType(v string) *CreateWorkflowInput { + s.Type = &v + return s +} - // Tags that are attached to the container recipe. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +// SetUri sets the Uri field's value. +func (s *CreateWorkflowInput) SetUri(v string) *CreateWorkflowInput { + s.Uri = &v + return s +} - // The destination repository for the container image. - TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure"` +type CreateWorkflowOutput struct { + _ struct{} `type:"structure"` - // The semantic version of the container recipe. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. - Version *string `locationName:"version" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The working directory for use during build and test workflows. - WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the workflow resource that the request + // created. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` } // String returns the string representation. @@ -9354,7 +12605,7 @@ type ContainerRecipe struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerRecipe) String() string { +func (s CreateWorkflowOutput) String() string { return awsutil.Prettify(s) } @@ -9363,139 +12614,153 @@ func (s ContainerRecipe) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerRecipe) GoString() string { +func (s CreateWorkflowOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ContainerRecipe) SetArn(v string) *ContainerRecipe { - s.Arn = &v +// SetClientToken sets the ClientToken field's value. +func (s *CreateWorkflowOutput) SetClientToken(v string) *CreateWorkflowOutput { + s.ClientToken = &v return s } -// SetComponents sets the Components field's value. -func (s *ContainerRecipe) SetComponents(v []*ComponentConfiguration) *ContainerRecipe { - s.Components = v +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *CreateWorkflowOutput) SetWorkflowBuildVersionArn(v string) *CreateWorkflowOutput { + s.WorkflowBuildVersionArn = &v return s } -// SetContainerType sets the ContainerType field's value. -func (s *ContainerRecipe) SetContainerType(v string) *ContainerRecipe { - s.ContainerType = &v - return s -} +// Amazon Inspector generates a risk score for each finding. This score helps +// you to prioritize findings, to focus on the most critical findings and the +// most vulnerable resources. The score uses the Common Vulnerability Scoring +// System (CVSS) format. This format is a modification of the base CVSS score +// that the National Vulnerability Database (NVD) provides. For more information +// about severity levels, see Severity levels for Amazon Inspector findings +// (https://docs.aws.amazon.com/inspector/latest/user/findings-understanding-severity.html) +// in the Amazon Inspector User Guide. +type CvssScore struct { + _ struct{} `type:"structure"` + + // The CVSS base score. + BaseScore *float64 `locationName:"baseScore" type:"double"` + + // The vector string of the CVSS score. + ScoringVector *string `locationName:"scoringVector" min:"1" type:"string"` -// SetDateCreated sets the DateCreated field's value. -func (s *ContainerRecipe) SetDateCreated(v string) *ContainerRecipe { - s.DateCreated = &v - return s -} + // The source of the CVSS score. + Source *string `locationName:"source" min:"1" type:"string"` -// SetDescription sets the Description field's value. -func (s *ContainerRecipe) SetDescription(v string) *ContainerRecipe { - s.Description = &v - return s + // The CVSS version that generated the score. + Version *string `locationName:"version" min:"1" type:"string"` } -// SetDockerfileTemplateData sets the DockerfileTemplateData field's value. -func (s *ContainerRecipe) SetDockerfileTemplateData(v string) *ContainerRecipe { - s.DockerfileTemplateData = &v - return s +// 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 CvssScore) String() string { + return awsutil.Prettify(s) } -// SetEncrypted sets the Encrypted field's value. -func (s *ContainerRecipe) SetEncrypted(v bool) *ContainerRecipe { - s.Encrypted = &v - return 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 CvssScore) GoString() string { + return s.String() } -// SetInstanceConfiguration sets the InstanceConfiguration field's value. -func (s *ContainerRecipe) SetInstanceConfiguration(v *InstanceConfiguration) *ContainerRecipe { - s.InstanceConfiguration = v +// SetBaseScore sets the BaseScore field's value. +func (s *CvssScore) SetBaseScore(v float64) *CvssScore { + s.BaseScore = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *ContainerRecipe) SetKmsKeyId(v string) *ContainerRecipe { - s.KmsKeyId = &v +// SetScoringVector sets the ScoringVector field's value. +func (s *CvssScore) SetScoringVector(v string) *CvssScore { + s.ScoringVector = &v return s } -// SetName sets the Name field's value. -func (s *ContainerRecipe) SetName(v string) *ContainerRecipe { - s.Name = &v +// SetSource sets the Source field's value. +func (s *CvssScore) SetSource(v string) *CvssScore { + s.Source = &v return s } -// SetOwner sets the Owner field's value. -func (s *ContainerRecipe) SetOwner(v string) *ContainerRecipe { - s.Owner = &v +// SetVersion sets the Version field's value. +func (s *CvssScore) SetVersion(v string) *CvssScore { + s.Version = &v return s } -// SetParentImage sets the ParentImage field's value. -func (s *ContainerRecipe) SetParentImage(v string) *ContainerRecipe { - s.ParentImage = &v - return s -} +// Details about an adjustment that Amazon Inspector made to the CVSS score +// for a finding. +type CvssScoreAdjustment struct { + _ struct{} `type:"structure"` -// SetPlatform sets the Platform field's value. -func (s *ContainerRecipe) SetPlatform(v string) *ContainerRecipe { - s.Platform = &v - return s + // The metric that Amazon Inspector used to adjust the CVSS score. + Metric *string `locationName:"metric" min:"1" type:"string"` + + // The reason for the CVSS score adjustment. + Reason *string `locationName:"reason" min:"1" type:"string"` } -// SetTags sets the Tags field's value. -func (s *ContainerRecipe) SetTags(v map[string]*string) *ContainerRecipe { - s.Tags = v - return s +// 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 CvssScoreAdjustment) String() string { + return awsutil.Prettify(s) } -// SetTargetRepository sets the TargetRepository field's value. -func (s *ContainerRecipe) SetTargetRepository(v *TargetContainerRepository) *ContainerRecipe { - s.TargetRepository = v - return 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 CvssScoreAdjustment) GoString() string { + return s.String() } -// SetVersion sets the Version field's value. -func (s *ContainerRecipe) SetVersion(v string) *ContainerRecipe { - s.Version = &v +// SetMetric sets the Metric field's value. +func (s *CvssScoreAdjustment) SetMetric(v string) *CvssScoreAdjustment { + s.Metric = &v return s } -// SetWorkingDirectory sets the WorkingDirectory field's value. -func (s *ContainerRecipe) SetWorkingDirectory(v string) *ContainerRecipe { - s.WorkingDirectory = &v +// SetReason sets the Reason field's value. +func (s *CvssScoreAdjustment) SetReason(v string) *CvssScoreAdjustment { + s.Reason = &v return s } -// A summary of a container recipe -type ContainerRecipeSummary struct { +// Details about the source of the score, and the factors that determined the +// adjustments to create the final score. +type CvssScoreDetails struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the container recipe. - Arn *string `locationName:"arn" type:"string"` - - // Specifies the type of container, such as "Docker". - ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"` - - // The date when this container recipe was created. - DateCreated *string `locationName:"dateCreated" type:"string"` + // An object that contains details about an adjustment that Amazon Inspector + // made to the CVSS score for the finding. + Adjustments []*CvssScoreAdjustment `locationName:"adjustments" type:"list"` - // The name of the container recipe. - Name *string `locationName:"name" type:"string"` + // The source of the finding. + CvssSource *string `locationName:"cvssSource" min:"1" type:"string"` - // The owner of the container recipe. - Owner *string `locationName:"owner" min:"1" type:"string"` + // The CVSS score. + Score *float64 `locationName:"score" type:"double"` - // The base image for the container recipe. - ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + // The source for the CVSS score. + ScoreSource *string `locationName:"scoreSource" min:"1" type:"string"` - // The system platform for the container, such as Windows or Linux. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // A vector that measures the severity of the vulnerability. + ScoringVector *string `locationName:"scoringVector" min:"1" type:"string"` - // Tags that are attached to the container recipe. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The CVSS version that generated the score. + Version *string `locationName:"version" min:"1" type:"string"` } // String returns the string representation. @@ -9503,7 +12768,7 @@ type ContainerRecipeSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerRecipeSummary) String() string { +func (s CvssScoreDetails) String() string { return awsutil.Prettify(s) } @@ -9512,126 +12777,53 @@ func (s ContainerRecipeSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContainerRecipeSummary) GoString() string { +func (s CvssScoreDetails) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ContainerRecipeSummary) SetArn(v string) *ContainerRecipeSummary { - s.Arn = &v - return s -} - -// SetContainerType sets the ContainerType field's value. -func (s *ContainerRecipeSummary) SetContainerType(v string) *ContainerRecipeSummary { - s.ContainerType = &v - return s -} - -// SetDateCreated sets the DateCreated field's value. -func (s *ContainerRecipeSummary) SetDateCreated(v string) *ContainerRecipeSummary { - s.DateCreated = &v - return s -} - -// SetName sets the Name field's value. -func (s *ContainerRecipeSummary) SetName(v string) *ContainerRecipeSummary { - s.Name = &v +// SetAdjustments sets the Adjustments field's value. +func (s *CvssScoreDetails) SetAdjustments(v []*CvssScoreAdjustment) *CvssScoreDetails { + s.Adjustments = v return s } -// SetOwner sets the Owner field's value. -func (s *ContainerRecipeSummary) SetOwner(v string) *ContainerRecipeSummary { - s.Owner = &v +// SetCvssSource sets the CvssSource field's value. +func (s *CvssScoreDetails) SetCvssSource(v string) *CvssScoreDetails { + s.CvssSource = &v return s } -// SetParentImage sets the ParentImage field's value. -func (s *ContainerRecipeSummary) SetParentImage(v string) *ContainerRecipeSummary { - s.ParentImage = &v +// SetScore sets the Score field's value. +func (s *CvssScoreDetails) SetScore(v float64) *CvssScoreDetails { + s.Score = &v return s } -// SetPlatform sets the Platform field's value. -func (s *ContainerRecipeSummary) SetPlatform(v string) *ContainerRecipeSummary { - s.Platform = &v +// SetScoreSource sets the ScoreSource field's value. +func (s *CvssScoreDetails) SetScoreSource(v string) *CvssScoreDetails { + s.ScoreSource = &v return s } -// SetTags sets the Tags field's value. -func (s *ContainerRecipeSummary) SetTags(v map[string]*string) *ContainerRecipeSummary { - s.Tags = v +// SetScoringVector sets the ScoringVector field's value. +func (s *CvssScoreDetails) SetScoringVector(v string) *CvssScoreDetails { + s.ScoringVector = &v return s } -type CreateComponentInput struct { - _ struct{} `type:"structure"` - - // The change description of the component. Describes what change has been made - // in this version, or what makes this version different from other versions - // of this component. - ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // Component data contains inline YAML document content for the component. Alternatively, - // you can specify the uri of a YAML document file stored in Amazon S3. However, - // you cannot specify both properties. - Data *string `locationName:"data" min:"1" type:"string"` - - // Describes the contents of the component. - Description *string `locationName:"description" min:"1" type:"string"` - - // The ID of the KMS key that is used to encrypt this component. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` - - // The name of the component. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The operating system platform of the component. - // - // Platform is a required field - Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` - - // The semantic version of the component. This version follows the semantic - // version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` - - // The operating system (OS) version supported by the component. If the OS information - // is available, a prefix match is performed against the base image OS version - // during image recipe creation. - SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` +// SetVersion sets the Version field's value. +func (s *CvssScoreDetails) SetVersion(v string) *CvssScoreDetails { + s.Version = &v + return s +} - // The tags that apply to the component. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +type DeleteComponentInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), - // and the requester must have permission to access the S3 bucket it points - // to. If you use Amazon S3, you can specify component content up to your service - // quota. + // The Amazon Resource Name (ARN) of the component build version to delete. // - // Alternatively, you can specify the YAML document inline, using the component - // data property. You cannot specify both properties. - Uri *string `locationName:"uri" type:"string"` + // ComponentBuildVersionArn is a required field + ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"` } // String returns the string representation. @@ -9639,7 +12831,7 @@ type CreateComponentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentInput) String() string { +func (s DeleteComponentInput) String() string { return awsutil.Prettify(s) } @@ -9648,42 +12840,15 @@ func (s CreateComponentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentInput) GoString() string { +func (s DeleteComponentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateComponentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateComponentInput"} - if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Data != nil && len(*s.Data) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Data", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Platform == nil { - invalidParams.Add(request.NewErrParamRequired("Platform")) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - if s.SupportedOsVersions != nil && len(s.SupportedOsVersions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SupportedOsVersions", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) +func (s *DeleteComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"} + if s.ComponentBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn")) } if invalidParams.Len() > 0 { @@ -9692,79 +12857,16 @@ func (s *CreateComponentInput) Validate() error { return nil } -// SetChangeDescription sets the ChangeDescription field's value. -func (s *CreateComponentInput) SetChangeDescription(v string) *CreateComponentInput { - s.ChangeDescription = &v - return s -} - -// SetClientToken sets the ClientToken field's value. -func (s *CreateComponentInput) SetClientToken(v string) *CreateComponentInput { - s.ClientToken = &v - return s -} - -// SetData sets the Data field's value. -func (s *CreateComponentInput) SetData(v string) *CreateComponentInput { - s.Data = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateComponentInput) SetDescription(v string) *CreateComponentInput { - s.Description = &v - return s -} - -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateComponentInput) SetKmsKeyId(v string) *CreateComponentInput { - s.KmsKeyId = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateComponentInput) SetName(v string) *CreateComponentInput { - s.Name = &v - return s -} - -// SetPlatform sets the Platform field's value. -func (s *CreateComponentInput) SetPlatform(v string) *CreateComponentInput { - s.Platform = &v - return s -} - -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *CreateComponentInput) SetSemanticVersion(v string) *CreateComponentInput { - s.SemanticVersion = &v - return s -} - -// SetSupportedOsVersions sets the SupportedOsVersions field's value. -func (s *CreateComponentInput) SetSupportedOsVersions(v []*string) *CreateComponentInput { - s.SupportedOsVersions = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateComponentInput) SetTags(v map[string]*string) *CreateComponentInput { - s.Tags = v - return s -} - -// SetUri sets the Uri field's value. -func (s *CreateComponentInput) SetUri(v string) *CreateComponentInput { - s.Uri = &v +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *DeleteComponentInput) SetComponentBuildVersionArn(v string) *DeleteComponentInput { + s.ComponentBuildVersionArn = &v return s } -type CreateComponentOutput struct { +type DeleteComponentOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the component that the request created. + // The ARN of the component build version that this request deleted. ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` // The request ID that uniquely identifies this request. @@ -9776,7 +12878,7 @@ type CreateComponentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentOutput) String() string { +func (s DeleteComponentOutput) String() string { return awsutil.Prettify(s) } @@ -9785,109 +12887,115 @@ func (s CreateComponentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateComponentOutput) GoString() string { +func (s DeleteComponentOutput) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateComponentOutput) SetClientToken(v string) *CreateComponentOutput { - s.ClientToken = &v - return s -} - // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. -func (s *CreateComponentOutput) SetComponentBuildVersionArn(v string) *CreateComponentOutput { +func (s *DeleteComponentOutput) SetComponentBuildVersionArn(v string) *DeleteComponentOutput { s.ComponentBuildVersionArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateComponentOutput) SetRequestId(v string) *CreateComponentOutput { +func (s *DeleteComponentOutput) SetRequestId(v string) *DeleteComponentOutput { s.RequestId = &v return s } -type CreateContainerRecipeInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // Components for build and test that are included in the container recipe. - // Recipes require a minimum of one build component, and can have a maximum - // of 20 build and test components in any combination. - // - // Components is a required field - Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"` +type DeleteContainerRecipeInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The type of container to create. + // The Amazon Resource Name (ARN) of the container recipe to delete. // - // ContainerType is a required field - ContainerType *string `locationName:"containerType" type:"string" required:"true" enum:"ContainerType"` + // ContainerRecipeArn is a required field + ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` +} - // The description of the container recipe. - Description *string `locationName:"description" 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 DeleteContainerRecipeInput) String() string { + return awsutil.Prettify(s) +} - // The Dockerfile template used to build your image as an inline data blob. - DockerfileTemplateData *string `locationName:"dockerfileTemplateData" min:"1" type:"string"` +// 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 DeleteContainerRecipeInput) GoString() string { + return s.String() +} - // The Amazon S3 URI for the Dockerfile that will be used to build your container - // image. - DockerfileTemplateUri *string `locationName:"dockerfileTemplateUri" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContainerRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContainerRecipeInput"} + if s.ContainerRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) + } - // Specifies the operating system version for the base image. - ImageOsVersionOverride *string `locationName:"imageOsVersionOverride" min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A group of options that can be used to configure an instance for building - // and testing container images. - InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"` +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *DeleteContainerRecipeInput) SetContainerRecipeArn(v string) *DeleteContainerRecipeInput { + s.ContainerRecipeArn = &v + return s +} - // Identifies which KMS key is used to encrypt the container image. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` +type DeleteContainerRecipeOutput struct { + _ struct{} `type:"structure"` - // The name of the container recipe. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the container recipe that was deleted. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - // The base image for the container recipe. - // - // ParentImage is a required field - ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} - // Specifies the operating system platform when you use a custom base image. - PlatformOverride *string `locationName:"platformOverride" type:"string" enum:"Platform"` +// 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 DeleteContainerRecipeOutput) String() string { + return awsutil.Prettify(s) +} - // The semantic version of the container recipe. This version follows the semantic - // version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` +// 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 DeleteContainerRecipeOutput) GoString() string { + return s.String() +} - // Tags that are attached to the container recipe. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *DeleteContainerRecipeOutput) SetContainerRecipeArn(v string) *DeleteContainerRecipeOutput { + s.ContainerRecipeArn = &v + return s +} - // The destination repository for the container image. - // - // TargetRepository is a required field - TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure" required:"true"` +// SetRequestId sets the RequestId field's value. +func (s *DeleteContainerRecipeOutput) SetRequestId(v string) *DeleteContainerRecipeOutput { + s.RequestId = &v + return s +} - // The working directory for use during build and test workflows. - WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` +type DeleteDistributionConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the distribution configuration to delete. + // + // DistributionConfigurationArn is a required field + DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"` } // String returns the string representation. @@ -9895,7 +13003,7 @@ type CreateContainerRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContainerRecipeInput) String() string { +func (s DeleteDistributionConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -9904,77 +13012,15 @@ func (s CreateContainerRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContainerRecipeInput) GoString() string { +func (s DeleteDistributionConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateContainerRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateContainerRecipeInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Components == nil { - invalidParams.Add(request.NewErrParamRequired("Components")) - } - if s.Components != nil && len(s.Components) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Components", 1)) - } - if s.ContainerType == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerType")) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.DockerfileTemplateData != nil && len(*s.DockerfileTemplateData) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DockerfileTemplateData", 1)) - } - if s.ImageOsVersionOverride != nil && len(*s.ImageOsVersionOverride) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ImageOsVersionOverride", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.ParentImage == nil { - invalidParams.Add(request.NewErrParamRequired("ParentImage")) - } - if s.ParentImage != nil && len(*s.ParentImage) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1)) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.TargetRepository == nil { - invalidParams.Add(request.NewErrParamRequired("TargetRepository")) - } - if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) - } - if s.Components != nil { - for i, v := range s.Components { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) - } - } - } - if s.InstanceConfiguration != nil { - if err := s.InstanceConfiguration.Validate(); err != nil { - invalidParams.AddNested("InstanceConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.TargetRepository != nil { - if err := s.TargetRepository.Validate(); err != nil { - invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams)) - } +func (s *DeleteDistributionConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionConfigurationInput"} + if s.DistributionConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) } if invalidParams.Len() > 0 { @@ -9983,111 +13029,104 @@ func (s *CreateContainerRecipeInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateContainerRecipeInput) SetClientToken(v string) *CreateContainerRecipeInput { - s.ClientToken = &v - return s -} - -// SetComponents sets the Components field's value. -func (s *CreateContainerRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateContainerRecipeInput { - s.Components = v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *DeleteDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationInput { + s.DistributionConfigurationArn = &v return s } -// SetContainerType sets the ContainerType field's value. -func (s *CreateContainerRecipeInput) SetContainerType(v string) *CreateContainerRecipeInput { - s.ContainerType = &v - return s -} +type DeleteDistributionConfigurationOutput struct { + _ struct{} `type:"structure"` -// SetDescription sets the Description field's value. -func (s *CreateContainerRecipeInput) SetDescription(v string) *CreateContainerRecipeInput { - s.Description = &v - return s -} + // The Amazon Resource Name (ARN) of the distribution configuration that was + // deleted. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` -// SetDockerfileTemplateData sets the DockerfileTemplateData field's value. -func (s *CreateContainerRecipeInput) SetDockerfileTemplateData(v string) *CreateContainerRecipeInput { - s.DockerfileTemplateData = &v - return s + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetDockerfileTemplateUri sets the DockerfileTemplateUri field's value. -func (s *CreateContainerRecipeInput) SetDockerfileTemplateUri(v string) *CreateContainerRecipeInput { - s.DockerfileTemplateUri = &v - return s +// 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 DeleteDistributionConfigurationOutput) String() string { + return awsutil.Prettify(s) } -// SetImageOsVersionOverride sets the ImageOsVersionOverride field's value. -func (s *CreateContainerRecipeInput) SetImageOsVersionOverride(v string) *CreateContainerRecipeInput { - s.ImageOsVersionOverride = &v - return 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 DeleteDistributionConfigurationOutput) GoString() string { + return s.String() } -// SetInstanceConfiguration sets the InstanceConfiguration field's value. -func (s *CreateContainerRecipeInput) SetInstanceConfiguration(v *InstanceConfiguration) *CreateContainerRecipeInput { - s.InstanceConfiguration = v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *DeleteDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationOutput { + s.DistributionConfigurationArn = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateContainerRecipeInput) SetKmsKeyId(v string) *CreateContainerRecipeInput { - s.KmsKeyId = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteDistributionConfigurationOutput) SetRequestId(v string) *DeleteDistributionConfigurationOutput { + s.RequestId = &v return s } -// SetName sets the Name field's value. -func (s *CreateContainerRecipeInput) SetName(v string) *CreateContainerRecipeInput { - s.Name = &v - return s -} +type DeleteImageInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// SetParentImage sets the ParentImage field's value. -func (s *CreateContainerRecipeInput) SetParentImage(v string) *CreateContainerRecipeInput { - s.ParentImage = &v - return s + // The Amazon Resource Name (ARN) of the Image Builder image resource to delete. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` } -// SetPlatformOverride sets the PlatformOverride field's value. -func (s *CreateContainerRecipeInput) SetPlatformOverride(v string) *CreateContainerRecipeInput { - s.PlatformOverride = &v - return s +// 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 DeleteImageInput) String() string { + return awsutil.Prettify(s) } -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *CreateContainerRecipeInput) SetSemanticVersion(v string) *CreateContainerRecipeInput { - s.SemanticVersion = &v - return 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 DeleteImageInput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateContainerRecipeInput) SetTags(v map[string]*string) *CreateContainerRecipeInput { - s.Tags = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"} + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) + } -// SetTargetRepository sets the TargetRepository field's value. -func (s *CreateContainerRecipeInput) SetTargetRepository(v *TargetContainerRepository) *CreateContainerRecipeInput { - s.TargetRepository = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWorkingDirectory sets the WorkingDirectory field's value. -func (s *CreateContainerRecipeInput) SetWorkingDirectory(v string) *CreateContainerRecipeInput { - s.WorkingDirectory = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *DeleteImageInput) SetImageBuildVersionArn(v string) *DeleteImageInput { + s.ImageBuildVersionArn = &v return s } -type CreateContainerRecipeOutput struct { +type DeleteImageOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // Returns the Amazon Resource Name (ARN) of the container recipe that the request - // created. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` + // The ARN of the Image Builder image resource that this request deleted. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -10098,7 +13137,7 @@ type CreateContainerRecipeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContainerRecipeOutput) String() string { +func (s DeleteImageOutput) String() string { return awsutil.Prettify(s) } @@ -10107,51 +13146,29 @@ func (s CreateContainerRecipeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContainerRecipeOutput) GoString() string { - return s.String() -} - -// SetClientToken sets the ClientToken field's value. -func (s *CreateContainerRecipeOutput) SetClientToken(v string) *CreateContainerRecipeOutput { - s.ClientToken = &v - return s +func (s DeleteImageOutput) GoString() string { + return s.String() } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *CreateContainerRecipeOutput) SetContainerRecipeArn(v string) *CreateContainerRecipeOutput { - s.ContainerRecipeArn = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *DeleteImageOutput) SetImageBuildVersionArn(v string) *DeleteImageOutput { + s.ImageBuildVersionArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateContainerRecipeOutput) SetRequestId(v string) *CreateContainerRecipeOutput { +func (s *DeleteImageOutput) SetRequestId(v string) *DeleteImageOutput { s.RequestId = &v return s } -type CreateDistributionConfigurationInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The description of the distribution configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The distributions of the distribution configuration. - // - // Distributions is a required field - Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"` +type DeleteImagePipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the distribution configuration. + // The Amazon Resource Name (ARN) of the image pipeline to delete. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The tags of the distribution configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // ImagePipelineArn is a required field + ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` } // String returns the string representation. @@ -10159,7 +13176,7 @@ type CreateDistributionConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDistributionConfigurationInput) String() string { +func (s DeleteImagePipelineInput) String() string { return awsutil.Prettify(s) } @@ -10168,37 +13185,15 @@ func (s CreateDistributionConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDistributionConfigurationInput) GoString() string { +func (s DeleteImagePipelineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDistributionConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDistributionConfigurationInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Distributions == nil { - invalidParams.Add(request.NewErrParamRequired("Distributions")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.Distributions != nil { - for i, v := range s.Distributions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams)) - } - } +func (s *DeleteImagePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImagePipelineInput"} + if s.ImagePipelineArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) } if invalidParams.Len() > 0 { @@ -10207,45 +13202,17 @@ func (s *CreateDistributionConfigurationInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateDistributionConfigurationInput) SetClientToken(v string) *CreateDistributionConfigurationInput { - s.ClientToken = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateDistributionConfigurationInput) SetDescription(v string) *CreateDistributionConfigurationInput { - s.Description = &v - return s -} - -// SetDistributions sets the Distributions field's value. -func (s *CreateDistributionConfigurationInput) SetDistributions(v []*Distribution) *CreateDistributionConfigurationInput { - s.Distributions = v - return s -} - -// SetName sets the Name field's value. -func (s *CreateDistributionConfigurationInput) SetName(v string) *CreateDistributionConfigurationInput { - s.Name = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateDistributionConfigurationInput) SetTags(v map[string]*string) *CreateDistributionConfigurationInput { - s.Tags = v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *DeleteImagePipelineInput) SetImagePipelineArn(v string) *DeleteImagePipelineInput { + s.ImagePipelineArn = &v return s } -type CreateDistributionConfigurationOutput struct { +type DeleteImagePipelineOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the distribution configuration that was - // created by this request. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + // The Amazon Resource Name (ARN) of the image pipeline that was deleted. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -10256,7 +13223,7 @@ type CreateDistributionConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDistributionConfigurationOutput) String() string { +func (s DeleteImagePipelineOutput) String() string { return awsutil.Prettify(s) } @@ -10265,68 +13232,29 @@ func (s CreateDistributionConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDistributionConfigurationOutput) GoString() string { +func (s DeleteImagePipelineOutput) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateDistributionConfigurationOutput) SetClientToken(v string) *CreateDistributionConfigurationOutput { - s.ClientToken = &v - return s -} - -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *CreateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *CreateDistributionConfigurationOutput { - s.DistributionConfigurationArn = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *DeleteImagePipelineOutput) SetImagePipelineArn(v string) *DeleteImagePipelineOutput { + s.ImagePipelineArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateDistributionConfigurationOutput) SetRequestId(v string) *CreateDistributionConfigurationOutput { +func (s *DeleteImagePipelineOutput) SetRequestId(v string) *DeleteImagePipelineOutput { s.RequestId = &v return s } -type CreateImageInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The Amazon Resource Name (ARN) of the container recipe that defines how images - // are configured and tested. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - - // The Amazon Resource Name (ARN) of the distribution configuration that defines - // and configures the outputs of your pipeline. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` - - // Collects additional information about the image being created, including - // the operating system (OS) version and package list. This information is used - // to enhance the overall experience of using EC2 Image Builder. Enabled by - // default. - EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - - // The Amazon Resource Name (ARN) of the image recipe that defines how images - // are configured, tested, and assessed. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - - // Contains settings for vulnerability scans. - ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` - - // The image tests configuration of the image. - ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` +type DeleteImageRecipeInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that defines - // the environment in which your image will be built and tested. + // The Amazon Resource Name (ARN) of the image recipe to delete. // - // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` - - // The tags of the image. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` } // String returns the string representation. @@ -10334,7 +13262,7 @@ type CreateImageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageInput) String() string { +func (s DeleteImageRecipeInput) String() string { return awsutil.Prettify(s) } @@ -10343,31 +13271,15 @@ func (s CreateImageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageInput) GoString() string { +func (s DeleteImageRecipeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateImageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.InfrastructureConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.ImageScanningConfiguration != nil { - if err := s.ImageScanningConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.ImageTestsConfiguration != nil { - if err := s.ImageTestsConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) - } +func (s *DeleteImageRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImageRecipeInput"} + if s.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) } if invalidParams.Len() > 0 { @@ -10376,68 +13288,17 @@ func (s *CreateImageInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImageInput) SetClientToken(v string) *CreateImageInput { - s.ClientToken = &v - return s -} - -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *CreateImageInput) SetContainerRecipeArn(v string) *CreateImageInput { - s.ContainerRecipeArn = &v - return s -} - -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *CreateImageInput) SetDistributionConfigurationArn(v string) *CreateImageInput { - s.DistributionConfigurationArn = &v - return s -} - -// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. -func (s *CreateImageInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImageInput { - s.EnhancedImageMetadataEnabled = &v - return s -} - // SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *CreateImageInput) SetImageRecipeArn(v string) *CreateImageInput { +func (s *DeleteImageRecipeInput) SetImageRecipeArn(v string) *DeleteImageRecipeInput { s.ImageRecipeArn = &v return s } -// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. -func (s *CreateImageInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateImageInput { - s.ImageScanningConfiguration = v - return s -} - -// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. -func (s *CreateImageInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImageInput { - s.ImageTestsConfiguration = v - return s -} - -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *CreateImageInput) SetInfrastructureConfigurationArn(v string) *CreateImageInput { - s.InfrastructureConfigurationArn = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateImageInput) SetTags(v map[string]*string) *CreateImageInput { - s.Tags = v - return s -} - -type CreateImageOutput struct { +type DeleteImageRecipeOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the image that the request created. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The Amazon Resource Name (ARN) of the image recipe that was deleted. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -10448,7 +13309,7 @@ type CreateImageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageOutput) String() string { +func (s DeleteImageRecipeOutput) String() string { return awsutil.Prettify(s) } @@ -10457,82 +13318,29 @@ func (s CreateImageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageOutput) GoString() string { +func (s DeleteImageRecipeOutput) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImageOutput) SetClientToken(v string) *CreateImageOutput { - s.ClientToken = &v - return s -} - -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *CreateImageOutput) SetImageBuildVersionArn(v string) *CreateImageOutput { - s.ImageBuildVersionArn = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *DeleteImageRecipeOutput) SetImageRecipeArn(v string) *DeleteImageRecipeOutput { + s.ImageRecipeArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateImageOutput) SetRequestId(v string) *CreateImageOutput { +func (s *DeleteImageRecipeOutput) SetRequestId(v string) *DeleteImageRecipeOutput { s.RequestId = &v return s } -type CreateImagePipelineInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The Amazon Resource Name (ARN) of the container recipe that is used to configure - // images created by this container pipeline. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - - // The description of the image pipeline. - Description *string `locationName:"description" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the distribution configuration that will - // be used to configure and distribute images created by this image pipeline. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` - - // Collects additional information about the image being created, including - // the operating system (OS) version and package list. This information is used - // to enhance the overall experience of using EC2 Image Builder. Enabled by - // default. - EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - - // The Amazon Resource Name (ARN) of the image recipe that will be used to configure - // images created by this image pipeline. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - - // Contains settings for vulnerability scans. - ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` - - // The image test configuration of the image pipeline. - ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` +type DeleteInfrastructureConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that will - // be used to build images created by this image pipeline. + // The Amazon Resource Name (ARN) of the infrastructure configuration to delete. // // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` - - // The name of the image pipeline. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The schedule of the image pipeline. - Schedule *Schedule `locationName:"schedule" type:"structure"` - - // The status of the image pipeline. - Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` - - // The tags of the image pipeline. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` } // String returns the string representation. @@ -10540,7 +13348,7 @@ type CreateImagePipelineInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImagePipelineInput) String() string { +func (s DeleteInfrastructureConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -10549,43 +13357,16 @@ func (s CreateImagePipelineInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImagePipelineInput) GoString() string { +func (s DeleteInfrastructureConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateImagePipelineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateImagePipelineInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } +func (s *DeleteInfrastructureConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInfrastructureConfigurationInput"} if s.InfrastructureConfigurationArn == nil { invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.ImageScanningConfiguration != nil { - if err := s.ImageScanningConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.ImageTestsConfiguration != nil { - if err := s.ImageTestsConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Schedule != nil { - if err := s.Schedule.Validate(); err != nil { - invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -10593,93 +13374,18 @@ func (s *CreateImagePipelineInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImagePipelineInput) SetClientToken(v string) *CreateImagePipelineInput { - s.ClientToken = &v - return s -} - -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *CreateImagePipelineInput) SetContainerRecipeArn(v string) *CreateImagePipelineInput { - s.ContainerRecipeArn = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateImagePipelineInput) SetDescription(v string) *CreateImagePipelineInput { - s.Description = &v - return s -} - -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *CreateImagePipelineInput) SetDistributionConfigurationArn(v string) *CreateImagePipelineInput { - s.DistributionConfigurationArn = &v - return s -} - -// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. -func (s *CreateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImagePipelineInput { - s.EnhancedImageMetadataEnabled = &v - return s -} - -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *CreateImagePipelineInput) SetImageRecipeArn(v string) *CreateImagePipelineInput { - s.ImageRecipeArn = &v - return s -} - -// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. -func (s *CreateImagePipelineInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateImagePipelineInput { - s.ImageScanningConfiguration = v - return s -} - -// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. -func (s *CreateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImagePipelineInput { - s.ImageTestsConfiguration = v - return s -} - // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *CreateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *CreateImagePipelineInput { +func (s *DeleteInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationInput { s.InfrastructureConfigurationArn = &v return s } -// SetName sets the Name field's value. -func (s *CreateImagePipelineInput) SetName(v string) *CreateImagePipelineInput { - s.Name = &v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *CreateImagePipelineInput) SetSchedule(v *Schedule) *CreateImagePipelineInput { - s.Schedule = v - return s -} - -// SetStatus sets the Status field's value. -func (s *CreateImagePipelineInput) SetStatus(v string) *CreateImagePipelineInput { - s.Status = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateImagePipelineInput) SetTags(v map[string]*string) *CreateImagePipelineInput { - s.Tags = v - return s -} - -type CreateImagePipelineOutput struct { +type DeleteInfrastructureConfigurationOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the image pipeline that was created by - // this request. - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + // The Amazon Resource Name (ARN) of the infrastructure configuration that was + // deleted. + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -10690,7 +13396,7 @@ type CreateImagePipelineOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImagePipelineOutput) String() string { +func (s DeleteInfrastructureConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -10699,89 +13405,29 @@ func (s CreateImagePipelineOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImagePipelineOutput) GoString() string { +func (s DeleteInfrastructureConfigurationOutput) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImagePipelineOutput) SetClientToken(v string) *CreateImagePipelineOutput { - s.ClientToken = &v - return s -} - -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *CreateImagePipelineOutput) SetImagePipelineArn(v string) *CreateImagePipelineOutput { - s.ImagePipelineArn = &v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *CreateImagePipelineOutput) SetRequestId(v string) *CreateImagePipelineOutput { - s.RequestId = &v - return s -} - -type CreateImageRecipeInput struct { - _ struct{} `type:"structure"` - - // Specify additional settings and launch scripts for your build instances. - AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"` - - // The block device mappings of the image recipe. - BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The components included in the image recipe. - // - // Components is a required field - Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"` - - // The description of the image recipe. - Description *string `locationName:"description" min:"1" type:"string"` - - // The name of the image recipe. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The base image of the image recipe. The value of the string can be the ARN - // of the base image or an AMI ID. The format for the ARN follows this example: - // arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x. - // You can provide the specific version that you want to use, or you can use - // a wildcard in all of the fields. If you enter an AMI ID for the string value, - // you must have access to the AMI, and the AMI must be in the same Region in - // which you are using Image Builder. - // - // ParentImage is a required field - ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"` +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *DeleteInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationOutput { + s.InfrastructureConfigurationArn = &v + return s +} - // The semantic version of the image recipe. This version follows the semantic - // version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` +// SetRequestId sets the RequestId field's value. +func (s *DeleteInfrastructureConfigurationOutput) SetRequestId(v string) *DeleteInfrastructureConfigurationOutput { + s.RequestId = &v + return s +} - // The tags of the image recipe. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +type DeleteLifecyclePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The working directory used during build and test workflows. - WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the lifecycle policy resource to delete. + // + // LifecyclePolicyArn is a required field + LifecyclePolicyArn *string `location:"querystring" locationName:"lifecyclePolicyArn" type:"string" required:"true"` } // String returns the string representation. @@ -10789,7 +13435,7 @@ type CreateImageRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageRecipeInput) String() string { +func (s DeleteLifecyclePolicyInput) String() string { return awsutil.Prettify(s) } @@ -10798,67 +13444,15 @@ func (s CreateImageRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageRecipeInput) GoString() string { +func (s DeleteLifecyclePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateImageRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateImageRecipeInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Components == nil { - invalidParams.Add(request.NewErrParamRequired("Components")) - } - if s.Components != nil && len(s.Components) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Components", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.ParentImage == nil { - invalidParams.Add(request.NewErrParamRequired("ParentImage")) - } - if s.ParentImage != nil && len(*s.ParentImage) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1)) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) - } - if s.AdditionalInstanceConfiguration != nil { - if err := s.AdditionalInstanceConfiguration.Validate(); err != nil { - invalidParams.AddNested("AdditionalInstanceConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.BlockDeviceMappings != nil { - for i, v := range s.BlockDeviceMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Components != nil { - for i, v := range s.Components { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) - } - } +func (s *DeleteLifecyclePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLifecyclePolicyInput"} + if s.LifecyclePolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) } if invalidParams.Len() > 0 { @@ -10867,78 +13461,94 @@ func (s *CreateImageRecipeInput) Validate() error { return nil } -// SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value. -func (s *CreateImageRecipeInput) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *CreateImageRecipeInput { - s.AdditionalInstanceConfiguration = v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *DeleteLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *DeleteLifecyclePolicyInput { + s.LifecyclePolicyArn = &v return s } -// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. -func (s *CreateImageRecipeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *CreateImageRecipeInput { - s.BlockDeviceMappings = v - return s +type DeleteLifecyclePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the lifecycle policy that was deleted. + LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImageRecipeInput) SetClientToken(v string) *CreateImageRecipeInput { - s.ClientToken = &v - return s +// 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 DeleteLifecyclePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetComponents sets the Components field's value. -func (s *CreateImageRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateImageRecipeInput { - s.Components = v - return 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 DeleteLifecyclePolicyOutput) GoString() string { + return s.String() } -// SetDescription sets the Description field's value. -func (s *CreateImageRecipeInput) SetDescription(v string) *CreateImageRecipeInput { - s.Description = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *DeleteLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *DeleteLifecyclePolicyOutput { + s.LifecyclePolicyArn = &v return s } -// SetName sets the Name field's value. -func (s *CreateImageRecipeInput) SetName(v string) *CreateImageRecipeInput { - s.Name = &v - return s +type DeleteWorkflowInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the workflow resource to delete. + // + // WorkflowBuildVersionArn is a required field + WorkflowBuildVersionArn *string `location:"querystring" locationName:"workflowBuildVersionArn" type:"string" required:"true"` } -// SetParentImage sets the ParentImage field's value. -func (s *CreateImageRecipeInput) SetParentImage(v string) *CreateImageRecipeInput { - s.ParentImage = &v - return s +// 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 DeleteWorkflowInput) String() string { + return awsutil.Prettify(s) } -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *CreateImageRecipeInput) SetSemanticVersion(v string) *CreateImageRecipeInput { - s.SemanticVersion = &v - return 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 DeleteWorkflowInput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateImageRecipeInput) SetTags(v map[string]*string) *CreateImageRecipeInput { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowInput"} + if s.WorkflowBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowBuildVersionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWorkingDirectory sets the WorkingDirectory field's value. -func (s *CreateImageRecipeInput) SetWorkingDirectory(v string) *CreateImageRecipeInput { - s.WorkingDirectory = &v +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *DeleteWorkflowInput) SetWorkflowBuildVersionArn(v string) *DeleteWorkflowInput { + s.WorkflowBuildVersionArn = &v return s } -type CreateImageRecipeOutput struct { +type DeleteWorkflowOutput struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the image recipe that was created by this - // request. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The ARN of the workflow resource that this request deleted. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` } // String returns the string representation. @@ -10946,7 +13556,7 @@ type CreateImageRecipeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageRecipeOutput) String() string { +func (s DeleteWorkflowOutput) String() string { return awsutil.Prettify(s) } @@ -10955,93 +13565,46 @@ func (s CreateImageRecipeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateImageRecipeOutput) GoString() string { +func (s DeleteWorkflowOutput) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateImageRecipeOutput) SetClientToken(v string) *CreateImageRecipeOutput { - s.ClientToken = &v - return s -} - -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *CreateImageRecipeOutput) SetImageRecipeArn(v string) *CreateImageRecipeOutput { - s.ImageRecipeArn = &v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *CreateImageRecipeOutput) SetRequestId(v string) *CreateImageRecipeOutput { - s.RequestId = &v +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *DeleteWorkflowOutput) SetWorkflowBuildVersionArn(v string) *DeleteWorkflowOutput { + s.WorkflowBuildVersionArn = &v return s } -type CreateInfrastructureConfigurationInput struct { +// Defines the settings for a specific Region. +type Distribution struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The description of the infrastructure configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The instance metadata options that you can set for the HTTP requests that - // pipeline builds use to launch EC2 build and test instances. - InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` - - // The instance profile to associate with the instance used to customize your - // Amazon EC2 AMI. - // - // InstanceProfileName is a required field - InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"` - - // The instance types of the infrastructure configuration. You can specify one - // or more instance types to use for this build. The service will pick one of - // these instance types based on availability. - InstanceTypes []*string `locationName:"instanceTypes" type:"list"` - - // The key pair of the infrastructure configuration. You can use this to log - // on to and debug the instance used to create your image. - KeyPair *string `locationName:"keyPair" min:"1" type:"string"` - - // The logging configuration of the infrastructure configuration. - Logging *Logging `locationName:"logging" type:"structure"` - - // The name of the infrastructure configuration. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The tags attached to the resource created by Image Builder. - ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The specific AMI settings; for example, launch permissions or AMI tags. + AmiDistributionConfiguration *AmiDistributionConfiguration `locationName:"amiDistributionConfiguration" type:"structure"` - // The security group IDs to associate with the instance used to customize your - // Amazon EC2 AMI. - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + // Container distribution settings for encryption, licensing, and sharing in + // a specific Region. + ContainerDistributionConfiguration *ContainerDistributionConfiguration `locationName:"containerDistributionConfiguration" type:"structure"` - // The Amazon Resource Name (ARN) for the SNS topic to which we send image build - // event notifications. - // - // EC2 Image Builder is unable to send notifications to SNS topics that are - // encrypted using keys from other accounts. The key that is used to encrypt - // the SNS topic must reside in the account that the Image Builder service runs - // under. - SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` + // The Windows faster-launching configurations to use for AMI distribution. + FastLaunchConfigurations []*FastLaunchConfiguration `locationName:"fastLaunchConfigurations" min:"1" type:"list"` - // The subnet ID in which to place the instance used to customize your Amazon - // EC2 AMI. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + // A group of launchTemplateConfiguration settings that apply to image distribution + // for specified accounts. + LaunchTemplateConfigurations []*LaunchTemplateConfiguration `locationName:"launchTemplateConfigurations" min:"1" type:"list"` - // The tags of the infrastructure configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The License Manager Configuration to associate with the AMI in the specified + // Region. + LicenseConfigurationArns []*string `locationName:"licenseConfigurationArns" min:"1" type:"list"` - // The terminate instance on failure setting of the infrastructure configuration. - // Set to false if you want Image Builder to retain the instance used to configure - // your AMI if the build or test phase of your workflow fails. - TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` + // The target Region. + // + // Region is a required field + Region *string `locationName:"region" min:"1" type:"string" required:"true"` + + // Configure export settings to deliver disk images created from your image + // build, using a file format that is compatible with your VMs in that Region. + S3ExportConfiguration *S3ExportConfiguration `locationName:"s3ExportConfiguration" type:"structure"` } // String returns the string representation. @@ -11049,7 +13612,7 @@ type CreateInfrastructureConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateInfrastructureConfigurationInput) String() string { +func (s Distribution) String() string { return awsutil.Prettify(s) } @@ -11058,48 +13621,61 @@ func (s CreateInfrastructureConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateInfrastructureConfigurationInput) GoString() string { +func (s Distribution) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInfrastructureConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInfrastructureConfigurationInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) +func (s *Distribution) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Distribution"} + if s.FastLaunchConfigurations != nil && len(s.FastLaunchConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FastLaunchConfigurations", 1)) } - if s.InstanceProfileName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) + if s.LaunchTemplateConfigurations != nil && len(s.LaunchTemplateConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateConfigurations", 1)) } - if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) + if s.LicenseConfigurationArns != nil && len(s.LicenseConfigurationArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LicenseConfigurationArns", 1)) } - if s.KeyPair != nil && len(*s.KeyPair) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) + if s.Region == nil { + invalidParams.Add(request.NewErrParamRequired("Region")) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.Region != nil && len(*s.Region) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Region", 1)) } - if s.ResourceTags != nil && len(s.ResourceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + if s.AmiDistributionConfiguration != nil { + if err := s.AmiDistributionConfiguration.Validate(); err != nil { + invalidParams.AddNested("AmiDistributionConfiguration", err.(request.ErrInvalidParams)) + } } - if s.SubnetId != nil && len(*s.SubnetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + if s.ContainerDistributionConfiguration != nil { + if err := s.ContainerDistributionConfiguration.Validate(); err != nil { + invalidParams.AddNested("ContainerDistributionConfiguration", err.(request.ErrInvalidParams)) + } } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.FastLaunchConfigurations != nil { + for i, v := range s.FastLaunchConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FastLaunchConfigurations", i), err.(request.ErrInvalidParams)) + } + } } - if s.InstanceMetadataOptions != nil { - if err := s.InstanceMetadataOptions.Validate(); err != nil { - invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams)) + if s.LaunchTemplateConfigurations != nil { + for i, v := range s.LaunchTemplateConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigurations", i), err.(request.ErrInvalidParams)) + } } } - if s.Logging != nil { - if err := s.Logging.Validate(); err != nil { - invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + if s.S3ExportConfiguration != nil { + if err := s.S3ExportConfiguration.Validate(); err != nil { + invalidParams.AddNested("S3ExportConfiguration", err.(request.ErrInvalidParams)) } } @@ -11109,102 +13685,170 @@ func (s *CreateInfrastructureConfigurationInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateInfrastructureConfigurationInput) SetClientToken(v string) *CreateInfrastructureConfigurationInput { - s.ClientToken = &v +// SetAmiDistributionConfiguration sets the AmiDistributionConfiguration field's value. +func (s *Distribution) SetAmiDistributionConfiguration(v *AmiDistributionConfiguration) *Distribution { + s.AmiDistributionConfiguration = v return s } -// SetDescription sets the Description field's value. -func (s *CreateInfrastructureConfigurationInput) SetDescription(v string) *CreateInfrastructureConfigurationInput { - s.Description = &v +// SetContainerDistributionConfiguration sets the ContainerDistributionConfiguration field's value. +func (s *Distribution) SetContainerDistributionConfiguration(v *ContainerDistributionConfiguration) *Distribution { + s.ContainerDistributionConfiguration = v return s } -// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. -func (s *CreateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *CreateInfrastructureConfigurationInput { - s.InstanceMetadataOptions = v +// SetFastLaunchConfigurations sets the FastLaunchConfigurations field's value. +func (s *Distribution) SetFastLaunchConfigurations(v []*FastLaunchConfiguration) *Distribution { + s.FastLaunchConfigurations = v return s } -// SetInstanceProfileName sets the InstanceProfileName field's value. -func (s *CreateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *CreateInfrastructureConfigurationInput { - s.InstanceProfileName = &v +// SetLaunchTemplateConfigurations sets the LaunchTemplateConfigurations field's value. +func (s *Distribution) SetLaunchTemplateConfigurations(v []*LaunchTemplateConfiguration) *Distribution { + s.LaunchTemplateConfigurations = v return s } -// SetInstanceTypes sets the InstanceTypes field's value. -func (s *CreateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *CreateInfrastructureConfigurationInput { - s.InstanceTypes = v +// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value. +func (s *Distribution) SetLicenseConfigurationArns(v []*string) *Distribution { + s.LicenseConfigurationArns = v return s } -// SetKeyPair sets the KeyPair field's value. -func (s *CreateInfrastructureConfigurationInput) SetKeyPair(v string) *CreateInfrastructureConfigurationInput { - s.KeyPair = &v +// SetRegion sets the Region field's value. +func (s *Distribution) SetRegion(v string) *Distribution { + s.Region = &v return s } -// SetLogging sets the Logging field's value. -func (s *CreateInfrastructureConfigurationInput) SetLogging(v *Logging) *CreateInfrastructureConfigurationInput { - s.Logging = v +// SetS3ExportConfiguration sets the S3ExportConfiguration field's value. +func (s *Distribution) SetS3ExportConfiguration(v *S3ExportConfiguration) *Distribution { + s.S3ExportConfiguration = v return s } -// SetName sets the Name field's value. -func (s *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfrastructureConfigurationInput { - s.Name = &v +// A distribution configuration. +type DistributionConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the distribution configuration. + Arn *string `locationName:"arn" type:"string"` + + // The date on which this distribution configuration was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The date on which this distribution configuration was last updated. + DateUpdated *string `locationName:"dateUpdated" type:"string"` + + // The description of the distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The distribution objects that apply Region-specific settings for the deployment + // of the image to targeted Regions. + Distributions []*Distribution `locationName:"distributions" type:"list"` + + // The name of the distribution configuration. + Name *string `locationName:"name" type:"string"` + + // The tags of the distribution configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The maximum duration in minutes for this distribution configuration. + // + // TimeoutMinutes is a required field + TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"30" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DistributionConfiguration) 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 DistributionConfiguration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DistributionConfiguration) SetArn(v string) *DistributionConfiguration { + s.Arn = &v return s } -// SetResourceTags sets the ResourceTags field's value. -func (s *CreateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *CreateInfrastructureConfigurationInput { - s.ResourceTags = v +// SetDateCreated sets the DateCreated field's value. +func (s *DistributionConfiguration) SetDateCreated(v string) *DistributionConfiguration { + s.DateCreated = &v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput { - s.SecurityGroupIds = v +// SetDateUpdated sets the DateUpdated field's value. +func (s *DistributionConfiguration) SetDateUpdated(v string) *DistributionConfiguration { + s.DateUpdated = &v return s } -// SetSnsTopicArn sets the SnsTopicArn field's value. -func (s *CreateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *CreateInfrastructureConfigurationInput { - s.SnsTopicArn = &v +// SetDescription sets the Description field's value. +func (s *DistributionConfiguration) SetDescription(v string) *DistributionConfiguration { + s.Description = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *CreateInfrastructureConfigurationInput) SetSubnetId(v string) *CreateInfrastructureConfigurationInput { - s.SubnetId = &v +// SetDistributions sets the Distributions field's value. +func (s *DistributionConfiguration) SetDistributions(v []*Distribution) *DistributionConfiguration { + s.Distributions = v + return s +} + +// SetName sets the Name field's value. +func (s *DistributionConfiguration) SetName(v string) *DistributionConfiguration { + s.Name = &v return s } // SetTags sets the Tags field's value. -func (s *CreateInfrastructureConfigurationInput) SetTags(v map[string]*string) *CreateInfrastructureConfigurationInput { +func (s *DistributionConfiguration) SetTags(v map[string]*string) *DistributionConfiguration { s.Tags = v return s } -// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. -func (s *CreateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *CreateInfrastructureConfigurationInput { - s.TerminateInstanceOnFailure = &v +// SetTimeoutMinutes sets the TimeoutMinutes field's value. +func (s *DistributionConfiguration) SetTimeoutMinutes(v int64) *DistributionConfiguration { + s.TimeoutMinutes = &v return s } -type CreateInfrastructureConfigurationOutput struct { - _ struct{} `type:"structure"` +// A high-level overview of a distribution configuration. +type DistributionConfigurationSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the distribution configuration. + Arn *string `locationName:"arn" type:"string"` + + // The date on which the distribution configuration was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The date on which the distribution configuration was updated. + DateUpdated *string `locationName:"dateUpdated" type:"string"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + // The description of the distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that was - // created by this request. - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + // The name of the distribution configuration. + Name *string `locationName:"name" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // A list of Regions where the container image is distributed to. + Regions []*string `locationName:"regions" type:"list"` + + // The tags associated with the distribution configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -11212,7 +13856,7 @@ type CreateInfrastructureConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateInfrastructureConfigurationOutput) String() string { +func (s DistributionConfigurationSummary) String() string { return awsutil.Prettify(s) } @@ -11221,70 +13865,79 @@ func (s CreateInfrastructureConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateInfrastructureConfigurationOutput) GoString() string { +func (s DistributionConfigurationSummary) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *CreateInfrastructureConfigurationOutput) SetClientToken(v string) *CreateInfrastructureConfigurationOutput { - s.ClientToken = &v +// SetArn sets the Arn field's value. +func (s *DistributionConfigurationSummary) SetArn(v string) *DistributionConfigurationSummary { + s.Arn = &v return s } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *CreateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *CreateInfrastructureConfigurationOutput { - s.InfrastructureConfigurationArn = &v +// SetDateCreated sets the DateCreated field's value. +func (s *DistributionConfigurationSummary) SetDateCreated(v string) *DistributionConfigurationSummary { + s.DateCreated = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CreateInfrastructureConfigurationOutput) SetRequestId(v string) *CreateInfrastructureConfigurationOutput { - s.RequestId = &v +// SetDateUpdated sets the DateUpdated field's value. +func (s *DistributionConfigurationSummary) SetDateUpdated(v string) *DistributionConfigurationSummary { + s.DateUpdated = &v return s } -type CreateLifecyclePolicyInput struct { - _ struct{} `type:"structure"` +// SetDescription sets the Description field's value. +func (s *DistributionConfigurationSummary) SetDescription(v string) *DistributionConfigurationSummary { + s.Description = &v + return s +} - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` +// SetName sets the Name field's value. +func (s *DistributionConfigurationSummary) SetName(v string) *DistributionConfigurationSummary { + s.Name = &v + return s +} - // Optional description for the lifecycle policy. - Description *string `locationName:"description" min:"1" type:"string"` +// SetRegions sets the Regions field's value. +func (s *DistributionConfigurationSummary) SetRegions(v []*string) *DistributionConfigurationSummary { + s.Regions = v + return s +} - // The role name or Amazon Resource Name (ARN) for the IAM role that grants - // Image Builder access to run lifecycle actions. - // - // ExecutionRole is a required field - ExecutionRole *string `locationName:"executionRole" min:"1" type:"string" required:"true"` +// SetTags sets the Tags field's value. +func (s *DistributionConfigurationSummary) SetTags(v map[string]*string) *DistributionConfigurationSummary { + s.Tags = v + return s +} - // The name of the lifecycle policy to create. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` +// Amazon EBS-specific block device mapping specifications. +type EbsInstanceBlockDeviceSpecification struct { + _ struct{} `type:"structure"` - // Configuration details for the lifecycle policy rules. - // - // PolicyDetails is a required field - PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list" required:"true"` + // Use to configure delete on termination of the associated device. + DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` - // Selection criteria for the resources that the lifecycle policy applies to. - // - // ResourceSelection is a required field - ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure" required:"true"` + // Use to configure device encryption. + Encrypted *bool `locationName:"encrypted" type:"boolean"` - // The type of Image Builder resource that the lifecycle policy applies to. - // - // ResourceType is a required field - ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"LifecyclePolicyResourceType"` + // Use to configure device IOPS. + Iops *int64 `locationName:"iops" min:"100" type:"integer"` - // Indicates whether the lifecycle policy resource is enabled. - Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + // Use to configure the KMS key to use when encrypting the device. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` - // Tags to apply to the lifecycle policy resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The snapshot that defines the device contents. + SnapshotId *string `locationName:"snapshotId" min:"1" type:"string"` + + // For GP3 volumes only – The throughput in MiB/s that the volume supports. + Throughput *int64 `locationName:"throughput" min:"125" type:"integer"` + + // Use to override the device's volume size. + VolumeSize *int64 `locationName:"volumeSize" min:"1" type:"integer"` + + // Use to override the device's volume type. + VolumeType *string `locationName:"volumeType" type:"string" enum:"EbsVolumeType"` } // String returns the string representation. @@ -11292,7 +13945,7 @@ type CreateLifecyclePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLifecyclePolicyInput) String() string { +func (s EbsInstanceBlockDeviceSpecification) String() string { return awsutil.Prettify(s) } @@ -11301,57 +13954,27 @@ func (s CreateLifecyclePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLifecyclePolicyInput) GoString() string { +func (s EbsInstanceBlockDeviceSpecification) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLifecyclePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLifecyclePolicyInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.ExecutionRole == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) - } - if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.PolicyDetails == nil { - invalidParams.Add(request.NewErrParamRequired("PolicyDetails")) - } - if s.PolicyDetails != nil && len(s.PolicyDetails) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PolicyDetails", 1)) - } - if s.ResourceSelection == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceSelection")) +func (s *EbsInstanceBlockDeviceSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EbsInstanceBlockDeviceSpecification"} + if s.Iops != nil && *s.Iops < 100 { + invalidParams.Add(request.NewErrParamMinValue("Iops", 100)) } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.SnapshotId != nil && len(*s.SnapshotId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1)) } - if s.PolicyDetails != nil { - for i, v := range s.PolicyDetails { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyDetails", i), err.(request.ErrInvalidParams)) - } - } + if s.Throughput != nil && *s.Throughput < 125 { + invalidParams.Add(request.NewErrParamMinValue("Throughput", 125)) } - if s.ResourceSelection != nil { - if err := s.ResourceSelection.Validate(); err != nil { - invalidParams.AddNested("ResourceSelection", err.(request.ErrInvalidParams)) - } + if s.VolumeSize != nil && *s.VolumeSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1)) } if invalidParams.Len() > 0 { @@ -11360,122 +13983,69 @@ func (s *CreateLifecyclePolicyInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateLifecyclePolicyInput) SetClientToken(v string) *CreateLifecyclePolicyInput { - s.ClientToken = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateLifecyclePolicyInput) SetDescription(v string) *CreateLifecyclePolicyInput { - s.Description = &v - return s -} - -// SetExecutionRole sets the ExecutionRole field's value. -func (s *CreateLifecyclePolicyInput) SetExecutionRole(v string) *CreateLifecyclePolicyInput { - s.ExecutionRole = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateLifecyclePolicyInput) SetName(v string) *CreateLifecyclePolicyInput { - s.Name = &v +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification { + s.DeleteOnTermination = &v return s } -// SetPolicyDetails sets the PolicyDetails field's value. -func (s *CreateLifecyclePolicyInput) SetPolicyDetails(v []*LifecyclePolicyDetail) *CreateLifecyclePolicyInput { - s.PolicyDetails = v +// SetEncrypted sets the Encrypted field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetEncrypted(v bool) *EbsInstanceBlockDeviceSpecification { + s.Encrypted = &v return s } -// SetResourceSelection sets the ResourceSelection field's value. -func (s *CreateLifecyclePolicyInput) SetResourceSelection(v *LifecyclePolicyResourceSelection) *CreateLifecyclePolicyInput { - s.ResourceSelection = v +// SetIops sets the Iops field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetIops(v int64) *EbsInstanceBlockDeviceSpecification { + s.Iops = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CreateLifecyclePolicyInput) SetResourceType(v string) *CreateLifecyclePolicyInput { - s.ResourceType = &v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetKmsKeyId(v string) *EbsInstanceBlockDeviceSpecification { + s.KmsKeyId = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateLifecyclePolicyInput) SetStatus(v string) *CreateLifecyclePolicyInput { - s.Status = &v +// SetSnapshotId sets the SnapshotId field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetSnapshotId(v string) *EbsInstanceBlockDeviceSpecification { + s.SnapshotId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateLifecyclePolicyInput) SetTags(v map[string]*string) *CreateLifecyclePolicyInput { - s.Tags = v +// SetThroughput sets the Throughput field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetThroughput(v int64) *EbsInstanceBlockDeviceSpecification { + s.Throughput = &v return s } -type CreateLifecyclePolicyOutput struct { - _ struct{} `type:"structure"` - - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the lifecycle policy that the request created. - LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" 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 CreateLifecyclePolicyOutput) 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 CreateLifecyclePolicyOutput) GoString() string { - return s.String() -} - -// SetClientToken sets the ClientToken field's value. -func (s *CreateLifecyclePolicyOutput) SetClientToken(v string) *CreateLifecyclePolicyOutput { - s.ClientToken = &v +// SetVolumeSize sets the VolumeSize field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetVolumeSize(v int64) *EbsInstanceBlockDeviceSpecification { + s.VolumeSize = &v return s } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *CreateLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *CreateLifecyclePolicyOutput { - s.LifecyclePolicyArn = &v +// SetVolumeType sets the VolumeType field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetVolumeType(v string) *EbsInstanceBlockDeviceSpecification { + s.VolumeType = &v return s } -// Amazon Inspector generates a risk score for each finding. This score helps -// you to prioritize findings, to focus on the most critical findings and the -// most vulnerable resources. The score uses the Common Vulnerability Scoring -// System (CVSS) format. This format is a modification of the base CVSS score -// that the National Vulnerability Database (NVD) provides. For more information -// about severity levels, see Severity levels for Amazon Inspector findings -// (https://docs.aws.amazon.com/inspector/latest/user/findings-understanding-severity.html) -// in the Amazon Inspector User Guide. -type CvssScore struct { +// Settings that Image Builder uses to configure the ECR repository and the +// output container images that Amazon Inspector scans. +type EcrConfiguration struct { _ struct{} `type:"structure"` - // The CVSS base score. - BaseScore *float64 `locationName:"baseScore" type:"double"` - - // The vector string of the CVSS score. - ScoringVector *string `locationName:"scoringVector" min:"1" type:"string"` - - // The source of the CVSS score. - Source *string `locationName:"source" min:"1" type:"string"` + // Tags for Image Builder to apply to the output container image that &INS; + // scans. Tags can help you identify and manage your scanned images. + ContainerTags []*string `locationName:"containerTags" type:"list"` - // The CVSS version that generated the score. - Version *string `locationName:"version" min:"1" type:"string"` + // The name of the container repository that Amazon Inspector scans to identify + // findings for your container images. The name includes the path for the repository + // location. If you don’t provide this information, Image Builder creates + // a repository in your account named image-builder-image-scanning-repository + // for vulnerability scans of your output container images. + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"` } // String returns the string representation. @@ -11483,7 +14053,7 @@ type CvssScore struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScore) String() string { +func (s EcrConfiguration) String() string { return awsutil.Prettify(s) } @@ -11492,44 +14062,60 @@ func (s CvssScore) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScore) GoString() string { +func (s EcrConfiguration) GoString() string { return s.String() } -// SetBaseScore sets the BaseScore field's value. -func (s *CvssScore) SetBaseScore(v float64) *CvssScore { - s.BaseScore = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EcrConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EcrConfiguration"} + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } -// SetScoringVector sets the ScoringVector field's value. -func (s *CvssScore) SetScoringVector(v string) *CvssScore { - s.ScoringVector = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSource sets the Source field's value. -func (s *CvssScore) SetSource(v string) *CvssScore { - s.Source = &v +// SetContainerTags sets the ContainerTags field's value. +func (s *EcrConfiguration) SetContainerTags(v []*string) *EcrConfiguration { + s.ContainerTags = v return s } -// SetVersion sets the Version field's value. -func (s *CvssScore) SetVersion(v string) *CvssScore { - s.Version = &v +// SetRepositoryName sets the RepositoryName field's value. +func (s *EcrConfiguration) SetRepositoryName(v string) *EcrConfiguration { + s.RepositoryName = &v return s } -// Details about an adjustment that Amazon Inspector made to the CVSS score -// for a finding. -type CvssScoreAdjustment struct { +// Define and configure faster launching for output Windows AMIs. +type FastLaunchConfiguration struct { _ struct{} `type:"structure"` - // The metric that Amazon Inspector used to adjust the CVSS score. - Metric *string `locationName:"metric" min:"1" type:"string"` + // The owner account ID for the fast-launch enabled Windows AMI. + AccountId *string `locationName:"accountId" type:"string"` - // The reason for the CVSS score adjustment. - Reason *string `locationName:"reason" min:"1" type:"string"` + // A Boolean that represents the current state of faster launching for the Windows + // AMI. Set to true to start using Windows faster launching, or false to stop + // using it. + // + // Enabled is a required field + Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` + + // The launch template that the fast-launch enabled Windows AMI uses when it + // launches Windows instances to create pre-provisioned snapshots. + LaunchTemplate *FastLaunchLaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` + + // The maximum number of parallel instances that are launched for creating resources. + MaxParallelLaunches *int64 `locationName:"maxParallelLaunches" min:"1" type:"integer"` + + // Configuration settings for managing the number of snapshots that are created + // from pre-provisioned instances for the Windows AMI when faster launching + // is enabled. + SnapshotConfiguration *FastLaunchSnapshotConfiguration `locationName:"snapshotConfiguration" type:"structure"` } // String returns the string representation. @@ -11537,7 +14123,7 @@ type CvssScoreAdjustment struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreAdjustment) String() string { +func (s FastLaunchConfiguration) String() string { return awsutil.Prettify(s) } @@ -11546,45 +14132,84 @@ func (s CvssScoreAdjustment) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreAdjustment) GoString() string { +func (s FastLaunchConfiguration) GoString() string { return s.String() } -// SetMetric sets the Metric field's value. -func (s *CvssScoreAdjustment) SetMetric(v string) *CvssScoreAdjustment { - s.Metric = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FastLaunchConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FastLaunchConfiguration"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.MaxParallelLaunches != nil && *s.MaxParallelLaunches < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxParallelLaunches", 1)) + } + if s.LaunchTemplate != nil { + if err := s.LaunchTemplate.Validate(); err != nil { + invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) + } + } + if s.SnapshotConfiguration != nil { + if err := s.SnapshotConfiguration.Validate(); err != nil { + invalidParams.AddNested("SnapshotConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *FastLaunchConfiguration) SetAccountId(v string) *FastLaunchConfiguration { + s.AccountId = &v return s } -// SetReason sets the Reason field's value. -func (s *CvssScoreAdjustment) SetReason(v string) *CvssScoreAdjustment { - s.Reason = &v +// SetEnabled sets the Enabled field's value. +func (s *FastLaunchConfiguration) SetEnabled(v bool) *FastLaunchConfiguration { + s.Enabled = &v return s } -// Details about the source of the score, and the factors that determined the -// adjustments to create the final score. -type CvssScoreDetails struct { - _ struct{} `type:"structure"` +// SetLaunchTemplate sets the LaunchTemplate field's value. +func (s *FastLaunchConfiguration) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecification) *FastLaunchConfiguration { + s.LaunchTemplate = v + return s +} - // An object that contains details about an adjustment that Amazon Inspector - // made to the CVSS score for the finding. - Adjustments []*CvssScoreAdjustment `locationName:"adjustments" type:"list"` +// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. +func (s *FastLaunchConfiguration) SetMaxParallelLaunches(v int64) *FastLaunchConfiguration { + s.MaxParallelLaunches = &v + return s +} - // The source of the finding. - CvssSource *string `locationName:"cvssSource" min:"1" type:"string"` +// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. +func (s *FastLaunchConfiguration) SetSnapshotConfiguration(v *FastLaunchSnapshotConfiguration) *FastLaunchConfiguration { + s.SnapshotConfiguration = v + return s +} - // The CVSS score. - Score *float64 `locationName:"score" type:"double"` +// Identifies the launch template that the associated Windows AMI uses for launching +// an instance when faster launching is enabled. +// +// You can specify either the launchTemplateName or the launchTemplateId, but +// not both. +type FastLaunchLaunchTemplateSpecification struct { + _ struct{} `type:"structure"` - // The source for the CVSS score. - ScoreSource *string `locationName:"scoreSource" min:"1" type:"string"` + // The ID of the launch template to use for faster launching for a Windows AMI. + LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` - // A vector that measures the severity of the vulnerability. - ScoringVector *string `locationName:"scoringVector" min:"1" type:"string"` + // The name of the launch template to use for faster launching for a Windows + // AMI. + LaunchTemplateName *string `locationName:"launchTemplateName" min:"1" type:"string"` - // The CVSS version that generated the score. - Version *string `locationName:"version" min:"1" type:"string"` + // The version of the launch template to use for faster launching for a Windows + // AMI. + LaunchTemplateVersion *string `locationName:"launchTemplateVersion" min:"1" type:"string"` } // String returns the string representation. @@ -11592,7 +14217,7 @@ type CvssScoreDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreDetails) String() string { +func (s FastLaunchLaunchTemplateSpecification) String() string { return awsutil.Prettify(s) } @@ -11601,53 +14226,52 @@ func (s CvssScoreDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreDetails) GoString() string { +func (s FastLaunchLaunchTemplateSpecification) GoString() string { return s.String() } -// SetAdjustments sets the Adjustments field's value. -func (s *CvssScoreDetails) SetAdjustments(v []*CvssScoreAdjustment) *CvssScoreDetails { - s.Adjustments = v - return s -} - -// SetCvssSource sets the CvssSource field's value. -func (s *CvssScoreDetails) SetCvssSource(v string) *CvssScoreDetails { - s.CvssSource = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *FastLaunchLaunchTemplateSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FastLaunchLaunchTemplateSpecification"} + if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 1)) + } + if s.LaunchTemplateVersion != nil && len(*s.LaunchTemplateVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateVersion", 1)) + } -// SetScore sets the Score field's value. -func (s *CvssScoreDetails) SetScore(v float64) *CvssScoreDetails { - s.Score = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetScoreSource sets the ScoreSource field's value. -func (s *CvssScoreDetails) SetScoreSource(v string) *CvssScoreDetails { - s.ScoreSource = &v +// SetLaunchTemplateId sets the LaunchTemplateId field's value. +func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FastLaunchLaunchTemplateSpecification { + s.LaunchTemplateId = &v return s } -// SetScoringVector sets the ScoringVector field's value. -func (s *CvssScoreDetails) SetScoringVector(v string) *CvssScoreDetails { - s.ScoringVector = &v +// SetLaunchTemplateName sets the LaunchTemplateName field's value. +func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FastLaunchLaunchTemplateSpecification { + s.LaunchTemplateName = &v return s } -// SetVersion sets the Version field's value. -func (s *CvssScoreDetails) SetVersion(v string) *CvssScoreDetails { - s.Version = &v +// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value. +func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateVersion(v string) *FastLaunchLaunchTemplateSpecification { + s.LaunchTemplateVersion = &v return s } -type DeleteComponentInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The Amazon Resource Name (ARN) of the component build version to delete. - // - // ComponentBuildVersionArn is a required field - ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"` +// Configuration settings for creating and managing pre-provisioned snapshots +// for a fast-launch enabled Windows AMI. +type FastLaunchSnapshotConfiguration struct { + _ struct{} `type:"structure"` + + // The number of pre-provisioned snapshots to keep on hand for a fast-launch + // enabled Windows AMI. + TargetResourceCount *int64 `locationName:"targetResourceCount" min:"1" type:"integer"` } // String returns the string representation. @@ -11655,7 +14279,7 @@ type DeleteComponentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentInput) String() string { +func (s FastLaunchSnapshotConfiguration) String() string { return awsutil.Prettify(s) } @@ -11664,15 +14288,15 @@ func (s DeleteComponentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentInput) GoString() string { +func (s FastLaunchSnapshotConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteComponentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"} - if s.ComponentBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn")) +func (s *FastLaunchSnapshotConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FastLaunchSnapshotConfiguration"} + if s.TargetResourceCount != nil && *s.TargetResourceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("TargetResourceCount", 1)) } if invalidParams.Len() > 0 { @@ -11681,20 +14305,23 @@ func (s *DeleteComponentInput) Validate() error { return nil } -// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. -func (s *DeleteComponentInput) SetComponentBuildVersionArn(v string) *DeleteComponentInput { - s.ComponentBuildVersionArn = &v +// SetTargetResourceCount sets the TargetResourceCount field's value. +func (s *FastLaunchSnapshotConfiguration) SetTargetResourceCount(v int64) *FastLaunchSnapshotConfiguration { + s.TargetResourceCount = &v return s } -type DeleteComponentOutput struct { +// A filter name and value pair that is used to return a more specific list +// of results from a list operation. Filters can be used to match a set of resources +// by specific criteria, such as tags, attributes, or IDs. +type Filter struct { _ struct{} `type:"structure"` - // The ARN of the component build version that this request deleted. - ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` + // The name of the filter. Filter names are case-sensitive. + Name *string `locationName:"name" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The filter values. Filter values are case-sensitive. + Values []*string `locationName:"values" min:"1" type:"list"` } // String returns the string representation. @@ -11702,7 +14329,7 @@ type DeleteComponentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentOutput) String() string { +func (s Filter) String() string { return awsutil.Prettify(s) } @@ -11711,29 +14338,41 @@ func (s DeleteComponentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteComponentOutput) GoString() string { +func (s Filter) GoString() string { return s.String() } -// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. -func (s *DeleteComponentOutput) SetComponentBuildVersionArn(v string) *DeleteComponentOutput { - s.ComponentBuildVersionArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DeleteComponentOutput) SetRequestId(v string) *DeleteComponentOutput { - s.RequestId = &v +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v return s } -type DeleteContainerRecipeInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// You are not authorized to perform the requested operation. +type ForbiddenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the container recipe to delete. - // - // ContainerRecipeArn is a required field - ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -11741,7 +14380,7 @@ type DeleteContainerRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContainerRecipeInput) String() string { +func (s ForbiddenException) String() string { return awsutil.Prettify(s) } @@ -11750,76 +14389,56 @@ func (s DeleteContainerRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContainerRecipeInput) GoString() string { +func (s ForbiddenException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteContainerRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteContainerRecipeInput"} - if s.ContainerRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorForbiddenException(v protocol.ResponseMetadata) error { + return &ForbiddenException{ + RespMetadata: v, } - return nil } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *DeleteContainerRecipeInput) SetContainerRecipeArn(v string) *DeleteContainerRecipeInput { - s.ContainerRecipeArn = &v - return s +// Code returns the exception type name. +func (s *ForbiddenException) Code() string { + return "ForbiddenException" } -type DeleteContainerRecipeOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the container recipe that was deleted. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` +// Message returns the exception's message. +func (s *ForbiddenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// 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 DeleteContainerRecipeOutput) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ForbiddenException) OrigErr() error { + return nil } -// 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 DeleteContainerRecipeOutput) GoString() string { - return s.String() +func (s *ForbiddenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *DeleteContainerRecipeOutput) SetContainerRecipeArn(v string) *DeleteContainerRecipeOutput { - s.ContainerRecipeArn = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ForbiddenException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetRequestId sets the RequestId field's value. -func (s *DeleteContainerRecipeOutput) SetRequestId(v string) *DeleteContainerRecipeOutput { - s.RequestId = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ForbiddenException) RequestID() string { + return s.RespMetadata.RequestID } -type DeleteDistributionConfigurationInput struct { +type GetComponentInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the distribution configuration to delete. + // The Amazon Resource Name (ARN) of the component that you want to get. Regex + // requires the suffix /\d+$. // - // DistributionConfigurationArn is a required field - DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"` + // ComponentBuildVersionArn is a required field + ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"` } // String returns the string representation. @@ -11827,7 +14446,7 @@ type DeleteDistributionConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDistributionConfigurationInput) String() string { +func (s GetComponentInput) String() string { return awsutil.Prettify(s) } @@ -11836,15 +14455,15 @@ func (s DeleteDistributionConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDistributionConfigurationInput) GoString() string { +func (s GetComponentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDistributionConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionConfigurationInput"} - if s.DistributionConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) +func (s *GetComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"} + if s.ComponentBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn")) } if invalidParams.Len() > 0 { @@ -11853,18 +14472,17 @@ func (s *DeleteDistributionConfigurationInput) Validate() error { return nil } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *DeleteDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationInput { - s.DistributionConfigurationArn = &v +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *GetComponentInput) SetComponentBuildVersionArn(v string) *GetComponentInput { + s.ComponentBuildVersionArn = &v return s } -type DeleteDistributionConfigurationOutput struct { +type GetComponentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the distribution configuration that was - // deleted. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + // The component object specified in the request. + Component *Component `locationName:"component" type:"structure"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -11875,7 +14493,7 @@ type DeleteDistributionConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDistributionConfigurationOutput) String() string { +func (s GetComponentOutput) String() string { return awsutil.Prettify(s) } @@ -11884,29 +14502,30 @@ func (s DeleteDistributionConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDistributionConfigurationOutput) GoString() string { +func (s GetComponentOutput) GoString() string { return s.String() } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *DeleteDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationOutput { - s.DistributionConfigurationArn = &v +// SetComponent sets the Component field's value. +func (s *GetComponentOutput) SetComponent(v *Component) *GetComponentOutput { + s.Component = v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteDistributionConfigurationOutput) SetRequestId(v string) *DeleteDistributionConfigurationOutput { +func (s *GetComponentOutput) SetRequestId(v string) *GetComponentOutput { s.RequestId = &v return s } -type DeleteImageInput struct { +type GetComponentPolicyInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the Image Builder image resource to delete. + // The Amazon Resource Name (ARN) of the component whose policy you want to + // retrieve. // - // ImageBuildVersionArn is a required field - ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` + // ComponentArn is a required field + ComponentArn *string `location:"querystring" locationName:"componentArn" type:"string" required:"true"` } // String returns the string representation. @@ -11914,7 +14533,7 @@ type DeleteImageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageInput) String() string { +func (s GetComponentPolicyInput) String() string { return awsutil.Prettify(s) } @@ -11923,15 +14542,15 @@ func (s DeleteImageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageInput) GoString() string { +func (s GetComponentPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteImageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"} - if s.ImageBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) +func (s *GetComponentPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentPolicyInput"} + if s.ComponentArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentArn")) } if invalidParams.Len() > 0 { @@ -11940,17 +14559,17 @@ func (s *DeleteImageInput) Validate() error { return nil } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *DeleteImageInput) SetImageBuildVersionArn(v string) *DeleteImageInput { - s.ImageBuildVersionArn = &v +// SetComponentArn sets the ComponentArn field's value. +func (s *GetComponentPolicyInput) SetComponentArn(v string) *GetComponentPolicyInput { + s.ComponentArn = &v return s } -type DeleteImageOutput struct { +type GetComponentPolicyOutput struct { _ struct{} `type:"structure"` - // The ARN of the Image Builder image resource that this request deleted. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The component policy. + Policy *string `locationName:"policy" min:"1" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -11961,7 +14580,7 @@ type DeleteImageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageOutput) String() string { +func (s GetComponentPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -11970,29 +14589,29 @@ func (s DeleteImageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageOutput) GoString() string { +func (s GetComponentPolicyOutput) GoString() string { return s.String() } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *DeleteImageOutput) SetImageBuildVersionArn(v string) *DeleteImageOutput { - s.ImageBuildVersionArn = &v +// SetPolicy sets the Policy field's value. +func (s *GetComponentPolicyOutput) SetPolicy(v string) *GetComponentPolicyOutput { + s.Policy = &v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteImageOutput) SetRequestId(v string) *DeleteImageOutput { +func (s *GetComponentPolicyOutput) SetRequestId(v string) *GetComponentPolicyOutput { s.RequestId = &v return s } -type DeleteImagePipelineInput struct { +type GetContainerRecipeInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the image pipeline to delete. + // The Amazon Resource Name (ARN) of the container recipe to retrieve. // - // ImagePipelineArn is a required field - ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` + // ContainerRecipeArn is a required field + ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` } // String returns the string representation. @@ -12000,7 +14619,7 @@ type DeleteImagePipelineInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImagePipelineInput) String() string { +func (s GetContainerRecipeInput) String() string { return awsutil.Prettify(s) } @@ -12009,15 +14628,15 @@ func (s DeleteImagePipelineInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImagePipelineInput) GoString() string { +func (s GetContainerRecipeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteImagePipelineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteImagePipelineInput"} - if s.ImagePipelineArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) +func (s *GetContainerRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipeInput"} + if s.ContainerRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) } if invalidParams.Len() > 0 { @@ -12026,17 +14645,17 @@ func (s *DeleteImagePipelineInput) Validate() error { return nil } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *DeleteImagePipelineInput) SetImagePipelineArn(v string) *DeleteImagePipelineInput { - s.ImagePipelineArn = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *GetContainerRecipeInput) SetContainerRecipeArn(v string) *GetContainerRecipeInput { + s.ContainerRecipeArn = &v return s } -type DeleteImagePipelineOutput struct { +type GetContainerRecipeOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image pipeline that was deleted. - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + // The container recipe object that is returned. + ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -12047,7 +14666,7 @@ type DeleteImagePipelineOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImagePipelineOutput) String() string { +func (s GetContainerRecipeOutput) String() string { return awsutil.Prettify(s) } @@ -12056,29 +14675,30 @@ func (s DeleteImagePipelineOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImagePipelineOutput) GoString() string { +func (s GetContainerRecipeOutput) GoString() string { return s.String() } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *DeleteImagePipelineOutput) SetImagePipelineArn(v string) *DeleteImagePipelineOutput { - s.ImagePipelineArn = &v +// SetContainerRecipe sets the ContainerRecipe field's value. +func (s *GetContainerRecipeOutput) SetContainerRecipe(v *ContainerRecipe) *GetContainerRecipeOutput { + s.ContainerRecipe = v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteImagePipelineOutput) SetRequestId(v string) *DeleteImagePipelineOutput { +func (s *GetContainerRecipeOutput) SetRequestId(v string) *GetContainerRecipeOutput { s.RequestId = &v return s } -type DeleteImageRecipeInput struct { +type GetContainerRecipePolicyInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the image recipe to delete. + // The Amazon Resource Name (ARN) of the container recipe for the policy being + // requested. // - // ImageRecipeArn is a required field - ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` + // ContainerRecipeArn is a required field + ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` } // String returns the string representation. @@ -12086,7 +14706,7 @@ type DeleteImageRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageRecipeInput) String() string { +func (s GetContainerRecipePolicyInput) String() string { return awsutil.Prettify(s) } @@ -12095,15 +14715,15 @@ func (s DeleteImageRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageRecipeInput) GoString() string { +func (s GetContainerRecipePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteImageRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteImageRecipeInput"} - if s.ImageRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) +func (s *GetContainerRecipePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipePolicyInput"} + if s.ContainerRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) } if invalidParams.Len() > 0 { @@ -12112,17 +14732,17 @@ func (s *DeleteImageRecipeInput) Validate() error { return nil } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *DeleteImageRecipeInput) SetImageRecipeArn(v string) *DeleteImageRecipeInput { - s.ImageRecipeArn = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *GetContainerRecipePolicyInput) SetContainerRecipeArn(v string) *GetContainerRecipePolicyInput { + s.ContainerRecipeArn = &v return s } -type DeleteImageRecipeOutput struct { +type GetContainerRecipePolicyOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image recipe that was deleted. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + // The container recipe policy object that is returned. + Policy *string `locationName:"policy" min:"1" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -12133,7 +14753,7 @@ type DeleteImageRecipeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageRecipeOutput) String() string { +func (s GetContainerRecipePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -12142,29 +14762,30 @@ func (s DeleteImageRecipeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteImageRecipeOutput) GoString() string { +func (s GetContainerRecipePolicyOutput) GoString() string { return s.String() } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *DeleteImageRecipeOutput) SetImageRecipeArn(v string) *DeleteImageRecipeOutput { - s.ImageRecipeArn = &v +// SetPolicy sets the Policy field's value. +func (s *GetContainerRecipePolicyOutput) SetPolicy(v string) *GetContainerRecipePolicyOutput { + s.Policy = &v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteImageRecipeOutput) SetRequestId(v string) *DeleteImageRecipeOutput { +func (s *GetContainerRecipePolicyOutput) SetRequestId(v string) *GetContainerRecipePolicyOutput { s.RequestId = &v return s } -type DeleteInfrastructureConfigurationInput struct { +type GetDistributionConfigurationInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the infrastructure configuration to delete. + // The Amazon Resource Name (ARN) of the distribution configuration that you + // want to retrieve. // - // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` + // DistributionConfigurationArn is a required field + DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"` } // String returns the string representation. @@ -12172,7 +14793,7 @@ type DeleteInfrastructureConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteInfrastructureConfigurationInput) String() string { +func (s GetDistributionConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -12181,15 +14802,15 @@ func (s DeleteInfrastructureConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteInfrastructureConfigurationInput) GoString() string { +func (s GetDistributionConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInfrastructureConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInfrastructureConfigurationInput"} - if s.InfrastructureConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) +func (s *GetDistributionConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigurationInput"} + if s.DistributionConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) } if invalidParams.Len() > 0 { @@ -12198,18 +14819,17 @@ func (s *DeleteInfrastructureConfigurationInput) Validate() error { return nil } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *DeleteInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationInput { - s.InfrastructureConfigurationArn = &v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *GetDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *GetDistributionConfigurationInput { + s.DistributionConfigurationArn = &v return s } -type DeleteInfrastructureConfigurationOutput struct { +type GetDistributionConfigurationOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that was - // deleted. - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + // The distribution configuration object. + DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -12220,7 +14840,7 @@ type DeleteInfrastructureConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteInfrastructureConfigurationOutput) String() string { +func (s GetDistributionConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -12229,29 +14849,29 @@ func (s DeleteInfrastructureConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteInfrastructureConfigurationOutput) GoString() string { +func (s GetDistributionConfigurationOutput) GoString() string { return s.String() } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *DeleteInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationOutput { - s.InfrastructureConfigurationArn = &v +// SetDistributionConfiguration sets the DistributionConfiguration field's value. +func (s *GetDistributionConfigurationOutput) SetDistributionConfiguration(v *DistributionConfiguration) *GetDistributionConfigurationOutput { + s.DistributionConfiguration = v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteInfrastructureConfigurationOutput) SetRequestId(v string) *DeleteInfrastructureConfigurationOutput { +func (s *GetDistributionConfigurationOutput) SetRequestId(v string) *GetDistributionConfigurationOutput { s.RequestId = &v return s } -type DeleteLifecyclePolicyInput struct { +type GetImageInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the lifecycle policy resource to delete. + // The Amazon Resource Name (ARN) of the image that you want to get. // - // LifecyclePolicyArn is a required field - LifecyclePolicyArn *string `location:"querystring" locationName:"lifecyclePolicyArn" type:"string" required:"true"` + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` } // String returns the string representation. @@ -12259,7 +14879,7 @@ type DeleteLifecyclePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLifecyclePolicyInput) String() string { +func (s GetImageInput) String() string { return awsutil.Prettify(s) } @@ -12268,15 +14888,15 @@ func (s DeleteLifecyclePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLifecyclePolicyInput) GoString() string { +func (s GetImageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLifecyclePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLifecyclePolicyInput"} - if s.LifecyclePolicyArn == nil { - invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) +func (s *GetImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImageInput"} + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) } if invalidParams.Len() > 0 { @@ -12285,17 +14905,20 @@ func (s *DeleteLifecyclePolicyInput) Validate() error { return nil } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *DeleteLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *DeleteLifecyclePolicyInput { - s.LifecyclePolicyArn = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *GetImageInput) SetImageBuildVersionArn(v string) *GetImageInput { + s.ImageBuildVersionArn = &v return s } -type DeleteLifecyclePolicyOutput struct { +type GetImageOutput struct { _ struct{} `type:"structure"` - // The ARN of the lifecycle policy that was deleted. - LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` + // The image object. + Image *Image `locationName:"image" type:"structure"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -12303,7 +14926,7 @@ type DeleteLifecyclePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLifecyclePolicyOutput) String() string { +func (s GetImageOutput) String() string { return awsutil.Prettify(s) } @@ -12312,46 +14935,29 @@ func (s DeleteLifecyclePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLifecyclePolicyOutput) GoString() string { +func (s GetImageOutput) GoString() string { return s.String() } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *DeleteLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *DeleteLifecyclePolicyOutput { - s.LifecyclePolicyArn = &v +// SetImage sets the Image field's value. +func (s *GetImageOutput) SetImage(v *Image) *GetImageOutput { + s.Image = v return s } -// Defines the settings for a specific Region. -type Distribution struct { - _ struct{} `type:"structure"` - - // The specific AMI settings; for example, launch permissions or AMI tags. - AmiDistributionConfiguration *AmiDistributionConfiguration `locationName:"amiDistributionConfiguration" type:"structure"` - - // Container distribution settings for encryption, licensing, and sharing in - // a specific Region. - ContainerDistributionConfiguration *ContainerDistributionConfiguration `locationName:"containerDistributionConfiguration" type:"structure"` - - // The Windows faster-launching configurations to use for AMI distribution. - FastLaunchConfigurations []*FastLaunchConfiguration `locationName:"fastLaunchConfigurations" min:"1" type:"list"` - - // A group of launchTemplateConfiguration settings that apply to image distribution - // for specified accounts. - LaunchTemplateConfigurations []*LaunchTemplateConfiguration `locationName:"launchTemplateConfigurations" min:"1" type:"list"` +// SetRequestId sets the RequestId field's value. +func (s *GetImageOutput) SetRequestId(v string) *GetImageOutput { + s.RequestId = &v + return s +} - // The License Manager Configuration to associate with the AMI in the specified - // Region. - LicenseConfigurationArns []*string `locationName:"licenseConfigurationArns" min:"1" type:"list"` +type GetImagePipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The target Region. + // The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve. // - // Region is a required field - Region *string `locationName:"region" min:"1" type:"string" required:"true"` - - // Configure export settings to deliver disk images created from your image - // build, using a file format that is compatible with your VMs in that Region. - S3ExportConfiguration *S3ExportConfiguration `locationName:"s3ExportConfiguration" type:"structure"` + // ImagePipelineArn is a required field + ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` } // String returns the string representation. @@ -12359,7 +14965,7 @@ type Distribution struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Distribution) String() string { +func (s GetImagePipelineInput) String() string { return awsutil.Prettify(s) } @@ -12368,62 +14974,15 @@ func (s Distribution) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Distribution) GoString() string { +func (s GetImagePipelineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Distribution) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Distribution"} - if s.FastLaunchConfigurations != nil && len(s.FastLaunchConfigurations) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FastLaunchConfigurations", 1)) - } - if s.LaunchTemplateConfigurations != nil && len(s.LaunchTemplateConfigurations) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateConfigurations", 1)) - } - if s.LicenseConfigurationArns != nil && len(s.LicenseConfigurationArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LicenseConfigurationArns", 1)) - } - if s.Region == nil { - invalidParams.Add(request.NewErrParamRequired("Region")) - } - if s.Region != nil && len(*s.Region) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Region", 1)) - } - if s.AmiDistributionConfiguration != nil { - if err := s.AmiDistributionConfiguration.Validate(); err != nil { - invalidParams.AddNested("AmiDistributionConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.ContainerDistributionConfiguration != nil { - if err := s.ContainerDistributionConfiguration.Validate(); err != nil { - invalidParams.AddNested("ContainerDistributionConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.FastLaunchConfigurations != nil { - for i, v := range s.FastLaunchConfigurations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FastLaunchConfigurations", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LaunchTemplateConfigurations != nil { - for i, v := range s.LaunchTemplateConfigurations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigurations", i), err.(request.ErrInvalidParams)) - } - } - } - if s.S3ExportConfiguration != nil { - if err := s.S3ExportConfiguration.Validate(); err != nil { - invalidParams.AddNested("S3ExportConfiguration", err.(request.ErrInvalidParams)) - } +func (s *GetImagePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImagePipelineInput"} + if s.ImagePipelineArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) } if invalidParams.Len() > 0 { @@ -12432,78 +14991,59 @@ func (s *Distribution) Validate() error { return nil } -// SetAmiDistributionConfiguration sets the AmiDistributionConfiguration field's value. -func (s *Distribution) SetAmiDistributionConfiguration(v *AmiDistributionConfiguration) *Distribution { - s.AmiDistributionConfiguration = v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *GetImagePipelineInput) SetImagePipelineArn(v string) *GetImagePipelineInput { + s.ImagePipelineArn = &v return s } -// SetContainerDistributionConfiguration sets the ContainerDistributionConfiguration field's value. -func (s *Distribution) SetContainerDistributionConfiguration(v *ContainerDistributionConfiguration) *Distribution { - s.ContainerDistributionConfiguration = v - return s -} +type GetImagePipelineOutput struct { + _ struct{} `type:"structure"` -// SetFastLaunchConfigurations sets the FastLaunchConfigurations field's value. -func (s *Distribution) SetFastLaunchConfigurations(v []*FastLaunchConfiguration) *Distribution { - s.FastLaunchConfigurations = v - return s + // The image pipeline object. + ImagePipeline *ImagePipeline `locationName:"imagePipeline" type:"structure"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetLaunchTemplateConfigurations sets the LaunchTemplateConfigurations field's value. -func (s *Distribution) SetLaunchTemplateConfigurations(v []*LaunchTemplateConfiguration) *Distribution { - s.LaunchTemplateConfigurations = v - return s +// 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 GetImagePipelineOutput) String() string { + return awsutil.Prettify(s) } -// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value. -func (s *Distribution) SetLicenseConfigurationArns(v []*string) *Distribution { - s.LicenseConfigurationArns = v - return 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 GetImagePipelineOutput) GoString() string { + return s.String() } -// SetRegion sets the Region field's value. -func (s *Distribution) SetRegion(v string) *Distribution { - s.Region = &v +// SetImagePipeline sets the ImagePipeline field's value. +func (s *GetImagePipelineOutput) SetImagePipeline(v *ImagePipeline) *GetImagePipelineOutput { + s.ImagePipeline = v return s } -// SetS3ExportConfiguration sets the S3ExportConfiguration field's value. -func (s *Distribution) SetS3ExportConfiguration(v *S3ExportConfiguration) *Distribution { - s.S3ExportConfiguration = v +// SetRequestId sets the RequestId field's value. +func (s *GetImagePipelineOutput) SetRequestId(v string) *GetImagePipelineOutput { + s.RequestId = &v return s } -// A distribution configuration. -type DistributionConfiguration struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the distribution configuration. - Arn *string `locationName:"arn" type:"string"` - - // The date on which this distribution configuration was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The date on which this distribution configuration was last updated. - DateUpdated *string `locationName:"dateUpdated" type:"string"` - - // The description of the distribution configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The distribution objects that apply Region-specific settings for the deployment - // of the image to targeted Regions. - Distributions []*Distribution `locationName:"distributions" type:"list"` - - // The name of the distribution configuration. - Name *string `locationName:"name" type:"string"` - - // The tags of the distribution configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +type GetImagePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The maximum duration in minutes for this distribution configuration. + // The Amazon Resource Name (ARN) of the image whose policy you want to retrieve. // - // TimeoutMinutes is a required field - TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"30" type:"integer" required:"true"` + // ImageArn is a required field + ImageArn *string `location:"querystring" locationName:"imageArn" type:"string" required:"true"` } // String returns the string representation. @@ -12511,7 +15051,7 @@ type DistributionConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DistributionConfiguration) String() string { +func (s GetImagePolicyInput) String() string { return awsutil.Prettify(s) } @@ -12520,82 +15060,76 @@ func (s DistributionConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DistributionConfiguration) GoString() string { +func (s GetImagePolicyInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DistributionConfiguration) SetArn(v string) *DistributionConfiguration { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetImagePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImagePolicyInput"} + if s.ImageArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageArn")) + } -// SetDateCreated sets the DateCreated field's value. -func (s *DistributionConfiguration) SetDateCreated(v string) *DistributionConfiguration { - s.DateCreated = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateUpdated sets the DateUpdated field's value. -func (s *DistributionConfiguration) SetDateUpdated(v string) *DistributionConfiguration { - s.DateUpdated = &v +// SetImageArn sets the ImageArn field's value. +func (s *GetImagePolicyInput) SetImageArn(v string) *GetImagePolicyInput { + s.ImageArn = &v return s } -// SetDescription sets the Description field's value. -func (s *DistributionConfiguration) SetDescription(v string) *DistributionConfiguration { - s.Description = &v - return s +type GetImagePolicyOutput struct { + _ struct{} `type:"structure"` + + // The image policy object. + Policy *string `locationName:"policy" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetDistributions sets the Distributions field's value. -func (s *DistributionConfiguration) SetDistributions(v []*Distribution) *DistributionConfiguration { - s.Distributions = v - return s +// 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 GetImagePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *DistributionConfiguration) SetName(v string) *DistributionConfiguration { - s.Name = &v - return 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 GetImagePolicyOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *DistributionConfiguration) SetTags(v map[string]*string) *DistributionConfiguration { - s.Tags = v +// SetPolicy sets the Policy field's value. +func (s *GetImagePolicyOutput) SetPolicy(v string) *GetImagePolicyOutput { + s.Policy = &v return s } -// SetTimeoutMinutes sets the TimeoutMinutes field's value. -func (s *DistributionConfiguration) SetTimeoutMinutes(v int64) *DistributionConfiguration { - s.TimeoutMinutes = &v +// SetRequestId sets the RequestId field's value. +func (s *GetImagePolicyOutput) SetRequestId(v string) *GetImagePolicyOutput { + s.RequestId = &v return s } -// A high-level overview of a distribution configuration. -type DistributionConfigurationSummary struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the distribution configuration. - Arn *string `locationName:"arn" type:"string"` - - // The date on which the distribution configuration was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The date on which the distribution configuration was updated. - DateUpdated *string `locationName:"dateUpdated" type:"string"` - - // The description of the distribution configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The name of the distribution configuration. - Name *string `locationName:"name" type:"string"` - - // A list of Regions where the container image is distributed to. - Regions []*string `locationName:"regions" type:"list"` +type GetImageRecipeInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The tags associated with the distribution configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The Amazon Resource Name (ARN) of the image recipe that you want to retrieve. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` } // String returns the string representation. @@ -12603,7 +15137,7 @@ type DistributionConfigurationSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DistributionConfigurationSummary) String() string { +func (s GetImageRecipeInput) String() string { return awsutil.Prettify(s) } @@ -12612,79 +15146,77 @@ func (s DistributionConfigurationSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DistributionConfigurationSummary) GoString() string { +func (s GetImageRecipeInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DistributionConfigurationSummary) SetArn(v string) *DistributionConfigurationSummary { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetImageRecipeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImageRecipeInput"} + if s.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateCreated sets the DateCreated field's value. -func (s *DistributionConfigurationSummary) SetDateCreated(v string) *DistributionConfigurationSummary { - s.DateCreated = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *GetImageRecipeInput) SetImageRecipeArn(v string) *GetImageRecipeInput { + s.ImageRecipeArn = &v return s } -// SetDateUpdated sets the DateUpdated field's value. -func (s *DistributionConfigurationSummary) SetDateUpdated(v string) *DistributionConfigurationSummary { - s.DateUpdated = &v - return s +type GetImageRecipeOutput struct { + _ struct{} `type:"structure"` + + // The image recipe object. + ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetDescription sets the Description field's value. -func (s *DistributionConfigurationSummary) SetDescription(v string) *DistributionConfigurationSummary { - s.Description = &v - return s +// 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 GetImageRecipeOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *DistributionConfigurationSummary) SetName(v string) *DistributionConfigurationSummary { - s.Name = &v - return 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 GetImageRecipeOutput) GoString() string { + return s.String() } -// SetRegions sets the Regions field's value. -func (s *DistributionConfigurationSummary) SetRegions(v []*string) *DistributionConfigurationSummary { - s.Regions = v +// SetImageRecipe sets the ImageRecipe field's value. +func (s *GetImageRecipeOutput) SetImageRecipe(v *ImageRecipe) *GetImageRecipeOutput { + s.ImageRecipe = v return s } -// SetTags sets the Tags field's value. -func (s *DistributionConfigurationSummary) SetTags(v map[string]*string) *DistributionConfigurationSummary { - s.Tags = v +// SetRequestId sets the RequestId field's value. +func (s *GetImageRecipeOutput) SetRequestId(v string) *GetImageRecipeOutput { + s.RequestId = &v return s } -// Amazon EBS-specific block device mapping specifications. -type EbsInstanceBlockDeviceSpecification struct { - _ struct{} `type:"structure"` - - // Use to configure delete on termination of the associated device. - DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` - - // Use to configure device encryption. - Encrypted *bool `locationName:"encrypted" type:"boolean"` - - // Use to configure device IOPS. - Iops *int64 `locationName:"iops" min:"100" type:"integer"` - - // Use to configure the KMS key to use when encrypting the device. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` - - // The snapshot that defines the device contents. - SnapshotId *string `locationName:"snapshotId" min:"1" type:"string"` - - // For GP3 volumes only – The throughput in MiB/s that the volume supports. - Throughput *int64 `locationName:"throughput" min:"125" type:"integer"` - - // Use to override the device's volume size. - VolumeSize *int64 `locationName:"volumeSize" min:"1" type:"integer"` +type GetImageRecipePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // Use to override the device's volume type. - VolumeType *string `locationName:"volumeType" type:"string" enum:"EbsVolumeType"` + // The Amazon Resource Name (ARN) of the image recipe whose policy you want + // to retrieve. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` } // String returns the string representation. @@ -12692,7 +15224,7 @@ type EbsInstanceBlockDeviceSpecification struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EbsInstanceBlockDeviceSpecification) String() string { +func (s GetImageRecipePolicyInput) String() string { return awsutil.Prettify(s) } @@ -12701,27 +15233,15 @@ func (s EbsInstanceBlockDeviceSpecification) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EbsInstanceBlockDeviceSpecification) GoString() string { +func (s GetImageRecipePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EbsInstanceBlockDeviceSpecification) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EbsInstanceBlockDeviceSpecification"} - if s.Iops != nil && *s.Iops < 100 { - invalidParams.Add(request.NewErrParamMinValue("Iops", 100)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.SnapshotId != nil && len(*s.SnapshotId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1)) - } - if s.Throughput != nil && *s.Throughput < 125 { - invalidParams.Add(request.NewErrParamMinValue("Throughput", 125)) - } - if s.VolumeSize != nil && *s.VolumeSize < 1 { - invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1)) +func (s *GetImageRecipePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImageRecipePolicyInput"} + if s.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) } if invalidParams.Len() > 0 { @@ -12730,69 +15250,61 @@ func (s *EbsInstanceBlockDeviceSpecification) Validate() error { return nil } -// SetDeleteOnTermination sets the DeleteOnTermination field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification { - s.DeleteOnTermination = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *GetImageRecipePolicyInput) SetImageRecipeArn(v string) *GetImageRecipePolicyInput { + s.ImageRecipeArn = &v return s } -// SetEncrypted sets the Encrypted field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetEncrypted(v bool) *EbsInstanceBlockDeviceSpecification { - s.Encrypted = &v - return s -} +type GetImageRecipePolicyOutput struct { + _ struct{} `type:"structure"` -// SetIops sets the Iops field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetIops(v int64) *EbsInstanceBlockDeviceSpecification { - s.Iops = &v - return s -} + // The image recipe policy object. + Policy *string `locationName:"policy" min:"1" type:"string"` -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetKmsKeyId(v string) *EbsInstanceBlockDeviceSpecification { - s.KmsKeyId = &v - return s + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetSnapshotId sets the SnapshotId field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetSnapshotId(v string) *EbsInstanceBlockDeviceSpecification { - s.SnapshotId = &v - return s +// 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 GetImageRecipePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetThroughput sets the Throughput field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetThroughput(v int64) *EbsInstanceBlockDeviceSpecification { - s.Throughput = &v - return 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 GetImageRecipePolicyOutput) GoString() string { + return s.String() } -// SetVolumeSize sets the VolumeSize field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetVolumeSize(v int64) *EbsInstanceBlockDeviceSpecification { - s.VolumeSize = &v +// SetPolicy sets the Policy field's value. +func (s *GetImageRecipePolicyOutput) SetPolicy(v string) *GetImageRecipePolicyOutput { + s.Policy = &v return s } -// SetVolumeType sets the VolumeType field's value. -func (s *EbsInstanceBlockDeviceSpecification) SetVolumeType(v string) *EbsInstanceBlockDeviceSpecification { - s.VolumeType = &v +// SetRequestId sets the RequestId field's value. +func (s *GetImageRecipePolicyOutput) SetRequestId(v string) *GetImageRecipePolicyOutput { + s.RequestId = &v return s } -// Settings that Image Builder uses to configure the ECR repository and the -// output container images that Amazon Inspector scans. -type EcrConfiguration struct { - _ struct{} `type:"structure"` - - // Tags for Image Builder to apply to the output container image that &INS; - // scans. Tags can help you identify and manage your scanned images. - ContainerTags []*string `locationName:"containerTags" type:"list"` +// GetInfrastructureConfiguration request object. +type GetInfrastructureConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the container repository that Amazon Inspector scans to identify - // findings for your container images. The name includes the path for the repository - // location. If you don’t provide this information, Image Builder creates - // a repository in your account named image-builder-image-scanning-repository - // for vulnerability scans of your output container images. - RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the infrastructure configuration that you + // want to retrieve. + // + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` } // String returns the string representation. @@ -12800,7 +15312,7 @@ type EcrConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfiguration) String() string { +func (s GetInfrastructureConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -12809,15 +15321,15 @@ func (s EcrConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfiguration) GoString() string { +func (s GetInfrastructureConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EcrConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EcrConfiguration"} - if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) +func (s *GetInfrastructureConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInfrastructureConfigurationInput"} + if s.InfrastructureConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) } if invalidParams.Len() > 0 { @@ -12826,43 +15338,21 @@ func (s *EcrConfiguration) Validate() error { return nil } -// SetContainerTags sets the ContainerTags field's value. -func (s *EcrConfiguration) SetContainerTags(v []*string) *EcrConfiguration { - s.ContainerTags = v - return s -} - -// SetRepositoryName sets the RepositoryName field's value. -func (s *EcrConfiguration) SetRepositoryName(v string) *EcrConfiguration { - s.RepositoryName = &v +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *GetInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *GetInfrastructureConfigurationInput { + s.InfrastructureConfigurationArn = &v return s } -// Define and configure faster launching for output Windows AMIs. -type FastLaunchConfiguration struct { +// GetInfrastructureConfiguration response object. +type GetInfrastructureConfigurationOutput struct { _ struct{} `type:"structure"` - // The owner account ID for the fast-launch enabled Windows AMI. - AccountId *string `locationName:"accountId" type:"string"` - - // A Boolean that represents the current state of faster launching for the Windows - // AMI. Set to true to start using Windows faster launching, or false to stop - // using it. - // - // Enabled is a required field - Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` - - // The launch template that the fast-launch enabled Windows AMI uses when it - // launches Windows instances to create pre-provisioned snapshots. - LaunchTemplate *FastLaunchLaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` - - // The maximum number of parallel instances that are launched for creating resources. - MaxParallelLaunches *int64 `locationName:"maxParallelLaunches" min:"1" type:"integer"` + // The infrastructure configuration object. + InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` - // Configuration settings for managing the number of snapshots that are created - // from pre-provisioned instances for the Windows AMI when faster launching - // is enabled. - SnapshotConfiguration *FastLaunchSnapshotConfiguration `locationName:"snapshotConfiguration" type:"structure"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -12870,7 +15360,7 @@ type FastLaunchConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchConfiguration) String() string { +func (s GetInfrastructureConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -12879,28 +15369,55 @@ func (s FastLaunchConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchConfiguration) GoString() string { +func (s GetInfrastructureConfigurationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FastLaunchConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FastLaunchConfiguration"} - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) - } - if s.MaxParallelLaunches != nil && *s.MaxParallelLaunches < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxParallelLaunches", 1)) - } - if s.LaunchTemplate != nil { - if err := s.LaunchTemplate.Validate(); err != nil { - invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) - } - } - if s.SnapshotConfiguration != nil { - if err := s.SnapshotConfiguration.Validate(); err != nil { - invalidParams.AddNested("SnapshotConfiguration", err.(request.ErrInvalidParams)) - } +// SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value. +func (s *GetInfrastructureConfigurationOutput) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *GetInfrastructureConfigurationOutput { + s.InfrastructureConfiguration = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetInfrastructureConfigurationOutput) SetRequestId(v string) *GetInfrastructureConfigurationOutput { + s.RequestId = &v + return s +} + +type GetLifecycleExecutionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Use the unique identifier for a runtime instance of the lifecycle policy + // to get runtime details. + // + // LifecycleExecutionId is a required field + LifecycleExecutionId *string `location:"querystring" locationName:"lifecycleExecutionId" 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 GetLifecycleExecutionInput) 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 GetLifecycleExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLifecycleExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLifecycleExecutionInput"} + if s.LifecycleExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) } if invalidParams.Len() > 0 { @@ -12909,54 +15426,51 @@ func (s *FastLaunchConfiguration) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *FastLaunchConfiguration) SetAccountId(v string) *FastLaunchConfiguration { - s.AccountId = &v +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *GetLifecycleExecutionInput) SetLifecycleExecutionId(v string) *GetLifecycleExecutionInput { + s.LifecycleExecutionId = &v return s } -// SetEnabled sets the Enabled field's value. -func (s *FastLaunchConfiguration) SetEnabled(v bool) *FastLaunchConfiguration { - s.Enabled = &v - return s +type GetLifecycleExecutionOutput struct { + _ struct{} `type:"structure"` + + // Runtime details for the specified runtime instance of the lifecycle policy. + LifecycleExecution *LifecycleExecution `locationName:"lifecycleExecution" type:"structure"` } -// SetLaunchTemplate sets the LaunchTemplate field's value. -func (s *FastLaunchConfiguration) SetLaunchTemplate(v *FastLaunchLaunchTemplateSpecification) *FastLaunchConfiguration { - s.LaunchTemplate = v - return s +// 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 GetLifecycleExecutionOutput) String() string { + return awsutil.Prettify(s) } -// SetMaxParallelLaunches sets the MaxParallelLaunches field's value. -func (s *FastLaunchConfiguration) SetMaxParallelLaunches(v int64) *FastLaunchConfiguration { - s.MaxParallelLaunches = &v - return 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 GetLifecycleExecutionOutput) GoString() string { + return s.String() } -// SetSnapshotConfiguration sets the SnapshotConfiguration field's value. -func (s *FastLaunchConfiguration) SetSnapshotConfiguration(v *FastLaunchSnapshotConfiguration) *FastLaunchConfiguration { - s.SnapshotConfiguration = v +// SetLifecycleExecution sets the LifecycleExecution field's value. +func (s *GetLifecycleExecutionOutput) SetLifecycleExecution(v *LifecycleExecution) *GetLifecycleExecutionOutput { + s.LifecycleExecution = v return s } -// Identifies the launch template that the associated Windows AMI uses for launching -// an instance when faster launching is enabled. -// -// You can specify either the launchTemplateName or the launchTemplateId, but -// not both. -type FastLaunchLaunchTemplateSpecification struct { - _ struct{} `type:"structure"` - - // The ID of the launch template to use for faster launching for a Windows AMI. - LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` - - // The name of the launch template to use for faster launching for a Windows - // AMI. - LaunchTemplateName *string `locationName:"launchTemplateName" min:"1" type:"string"` +type GetLifecyclePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The version of the launch template to use for faster launching for a Windows - // AMI. - LaunchTemplateVersion *string `locationName:"launchTemplateVersion" min:"1" type:"string"` + // Specifies the Amazon Resource Name (ARN) of the image lifecycle policy resource + // to get. + // + // LifecyclePolicyArn is a required field + LifecyclePolicyArn *string `location:"querystring" locationName:"lifecyclePolicyArn" type:"string" required:"true"` } // String returns the string representation. @@ -12964,7 +15478,7 @@ type FastLaunchLaunchTemplateSpecification struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchLaunchTemplateSpecification) String() string { +func (s GetLifecyclePolicyInput) String() string { return awsutil.Prettify(s) } @@ -12973,18 +15487,15 @@ func (s FastLaunchLaunchTemplateSpecification) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchLaunchTemplateSpecification) GoString() string { +func (s GetLifecyclePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FastLaunchLaunchTemplateSpecification) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FastLaunchLaunchTemplateSpecification"} - if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 1)) - } - if s.LaunchTemplateVersion != nil && len(*s.LaunchTemplateVersion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateVersion", 1)) +func (s *GetLifecyclePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePolicyInput"} + if s.LifecyclePolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) } if invalidParams.Len() > 0 { @@ -12993,32 +15504,51 @@ func (s *FastLaunchLaunchTemplateSpecification) Validate() error { return nil } -// SetLaunchTemplateId sets the LaunchTemplateId field's value. -func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FastLaunchLaunchTemplateSpecification { - s.LaunchTemplateId = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *GetLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *GetLifecyclePolicyInput { + s.LifecyclePolicyArn = &v return s } -// SetLaunchTemplateName sets the LaunchTemplateName field's value. -func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FastLaunchLaunchTemplateSpecification { - s.LaunchTemplateName = &v - return s +type GetLifecyclePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the image lifecycle policy resource that was returned. + LifecyclePolicy *LifecyclePolicy `locationName:"lifecyclePolicy" type:"structure"` } -// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value. -func (s *FastLaunchLaunchTemplateSpecification) SetLaunchTemplateVersion(v string) *FastLaunchLaunchTemplateSpecification { - s.LaunchTemplateVersion = &v +// 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 GetLifecyclePolicyOutput) 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 GetLifecyclePolicyOutput) GoString() string { + return s.String() +} + +// SetLifecyclePolicy sets the LifecyclePolicy field's value. +func (s *GetLifecyclePolicyOutput) SetLifecyclePolicy(v *LifecyclePolicy) *GetLifecyclePolicyOutput { + s.LifecyclePolicy = v return s } -// Configuration settings for creating and managing pre-provisioned snapshots -// for a fast-launch enabled Windows AMI. -type FastLaunchSnapshotConfiguration struct { - _ struct{} `type:"structure"` +type GetWorkflowExecutionInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The number of pre-provisioned snapshots to keep on hand for a fast-launch - // enabled Windows AMI. - TargetResourceCount *int64 `locationName:"targetResourceCount" min:"1" type:"integer"` + // Use the unique identifier for a runtime instance of the workflow to get runtime + // details. + // + // WorkflowExecutionId is a required field + WorkflowExecutionId *string `location:"querystring" locationName:"workflowExecutionId" type:"string" required:"true"` } // String returns the string representation. @@ -13026,7 +15556,7 @@ type FastLaunchSnapshotConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchSnapshotConfiguration) String() string { +func (s GetWorkflowExecutionInput) String() string { return awsutil.Prettify(s) } @@ -13035,15 +15565,15 @@ func (s FastLaunchSnapshotConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FastLaunchSnapshotConfiguration) GoString() string { +func (s GetWorkflowExecutionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FastLaunchSnapshotConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FastLaunchSnapshotConfiguration"} - if s.TargetResourceCount != nil && *s.TargetResourceCount < 1 { - invalidParams.Add(request.NewErrParamMinValue("TargetResourceCount", 1)) +func (s *GetWorkflowExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowExecutionInput"} + if s.WorkflowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionId")) } if invalidParams.Len() > 0 { @@ -13052,23 +15582,67 @@ func (s *FastLaunchSnapshotConfiguration) Validate() error { return nil } -// SetTargetResourceCount sets the TargetResourceCount field's value. -func (s *FastLaunchSnapshotConfiguration) SetTargetResourceCount(v int64) *FastLaunchSnapshotConfiguration { - s.TargetResourceCount = &v +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *GetWorkflowExecutionInput) SetWorkflowExecutionId(v string) *GetWorkflowExecutionInput { + s.WorkflowExecutionId = &v return s } -// A filter name and value pair that is used to return a more specific list -// of results from a list operation. Filters can be used to match a set of resources -// by specific criteria, such as tags, attributes, or IDs. -type Filter struct { +type GetWorkflowExecutionOutput struct { _ struct{} `type:"structure"` - // The name of the filter. Filter names are case-sensitive. - Name *string `locationName:"name" type:"string"` + // The timestamp when the specified runtime instance of the workflow finished. + EndTime *string `locationName:"endTime" type:"string"` - // The filter values. Filter values are case-sensitive. - Values []*string `locationName:"values" min:"1" type:"list"` + // The Amazon Resource Name (ARN) of the image resource build version that the + // specified runtime instance of the workflow created. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The output message from the specified runtime instance of the workflow, if + // applicable. + Message *string `locationName:"message" type:"string"` + + // Test workflows are defined within named runtime groups. The parallel group + // is a named group that contains one or more test workflows. + ParallelGroup *string `locationName:"parallelGroup" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` + + // The timestamp when the specified runtime instance of the workflow started. + StartTime *string `locationName:"startTime" type:"string"` + + // The current runtime status for the specified runtime instance of the workflow. + Status *string `locationName:"status" type:"string" enum:"WorkflowExecutionStatus"` + + // The total number of steps in the specified runtime instance of the workflow + // that ran. This number should equal the sum of the step counts for steps that + // succeeded, were skipped, and failed. + TotalStepCount *int64 `locationName:"totalStepCount" type:"integer"` + + // A runtime count for the number of steps that failed in the specified runtime + // instance of the workflow. + TotalStepsFailed *int64 `locationName:"totalStepsFailed" type:"integer"` + + // A runtime count for the number of steps that were skipped in the specified + // runtime instance of the workflow. + TotalStepsSkipped *int64 `locationName:"totalStepsSkipped" type:"integer"` + + // A runtime count for the number of steps that ran successfully in the specified + // runtime instance of the workflow. + TotalStepsSucceeded *int64 `locationName:"totalStepsSucceeded" type:"integer"` + + // The type of workflow that Image Builder ran for the specified runtime instance + // of the workflow. + Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + + // The Amazon Resource Name (ARN) of the build version for the Image Builder + // workflow resource that defines the specified runtime instance of the workflow. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` + + // The unique identifier that Image Builder assigned to keep track of runtime + // details when it ran the workflow. + WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` } // String returns the string representation. @@ -13076,7 +15650,7 @@ type Filter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) String() string { +func (s GetWorkflowExecutionOutput) String() string { return awsutil.Prettify(s) } @@ -13085,107 +15659,102 @@ func (s Filter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) GoString() string { +func (s GetWorkflowExecutionOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Filter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Filter"} - if s.Values != nil && len(s.Values) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Values", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEndTime sets the EndTime field's value. +func (s *GetWorkflowExecutionOutput) SetEndTime(v string) *GetWorkflowExecutionOutput { + s.EndTime = &v + return s } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *GetWorkflowExecutionOutput) SetImageBuildVersionArn(v string) *GetWorkflowExecutionOutput { + s.ImageBuildVersionArn = &v return s } -// SetValues sets the Values field's value. -func (s *Filter) SetValues(v []*string) *Filter { - s.Values = v +// SetMessage sets the Message field's value. +func (s *GetWorkflowExecutionOutput) SetMessage(v string) *GetWorkflowExecutionOutput { + s.Message = &v return s } -// You are not authorized to perform the requested operation. -type ForbiddenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetParallelGroup sets the ParallelGroup field's value. +func (s *GetWorkflowExecutionOutput) SetParallelGroup(v string) *GetWorkflowExecutionOutput { + s.ParallelGroup = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetRequestId sets the RequestId field's value. +func (s *GetWorkflowExecutionOutput) SetRequestId(v string) *GetWorkflowExecutionOutput { + s.RequestId = &v + return s } -// 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 ForbiddenException) String() string { - return awsutil.Prettify(s) +// SetStartTime sets the StartTime field's value. +func (s *GetWorkflowExecutionOutput) SetStartTime(v string) *GetWorkflowExecutionOutput { + s.StartTime = &v + return 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 ForbiddenException) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *GetWorkflowExecutionOutput) SetStatus(v string) *GetWorkflowExecutionOutput { + s.Status = &v + return s } -func newErrorForbiddenException(v protocol.ResponseMetadata) error { - return &ForbiddenException{ - RespMetadata: v, - } +// SetTotalStepCount sets the TotalStepCount field's value. +func (s *GetWorkflowExecutionOutput) SetTotalStepCount(v int64) *GetWorkflowExecutionOutput { + s.TotalStepCount = &v + return s } -// Code returns the exception type name. -func (s *ForbiddenException) Code() string { - return "ForbiddenException" +// SetTotalStepsFailed sets the TotalStepsFailed field's value. +func (s *GetWorkflowExecutionOutput) SetTotalStepsFailed(v int64) *GetWorkflowExecutionOutput { + s.TotalStepsFailed = &v + return s } -// Message returns the exception's message. -func (s *ForbiddenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetTotalStepsSkipped sets the TotalStepsSkipped field's value. +func (s *GetWorkflowExecutionOutput) SetTotalStepsSkipped(v int64) *GetWorkflowExecutionOutput { + s.TotalStepsSkipped = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ForbiddenException) OrigErr() error { - return nil +// SetTotalStepsSucceeded sets the TotalStepsSucceeded field's value. +func (s *GetWorkflowExecutionOutput) SetTotalStepsSucceeded(v int64) *GetWorkflowExecutionOutput { + s.TotalStepsSucceeded = &v + return s } -func (s *ForbiddenException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetType sets the Type field's value. +func (s *GetWorkflowExecutionOutput) SetType(v string) *GetWorkflowExecutionOutput { + s.Type = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ForbiddenException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *GetWorkflowExecutionOutput) SetWorkflowBuildVersionArn(v string) *GetWorkflowExecutionOutput { + s.WorkflowBuildVersionArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ForbiddenException) RequestID() string { - return s.RespMetadata.RequestID +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *GetWorkflowExecutionOutput) SetWorkflowExecutionId(v string) *GetWorkflowExecutionOutput { + s.WorkflowExecutionId = &v + return s } -type GetComponentInput struct { +type GetWorkflowInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the component that you want to get. Regex - // requires the suffix /\d+$. + // The Amazon Resource Name (ARN) of the workflow resource that you want to + // get. // - // ComponentBuildVersionArn is a required field - ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"` + // WorkflowBuildVersionArn is a required field + WorkflowBuildVersionArn *string `location:"querystring" locationName:"workflowBuildVersionArn" type:"string" required:"true"` } // String returns the string representation. @@ -13193,7 +15762,7 @@ type GetComponentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentInput) String() string { +func (s GetWorkflowInput) String() string { return awsutil.Prettify(s) } @@ -13202,15 +15771,15 @@ func (s GetComponentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentInput) GoString() string { +func (s GetWorkflowInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetComponentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"} - if s.ComponentBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn")) +func (s *GetWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowInput"} + if s.WorkflowBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowBuildVersionArn")) } if invalidParams.Len() > 0 { @@ -13219,20 +15788,17 @@ func (s *GetComponentInput) Validate() error { return nil } -// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. -func (s *GetComponentInput) SetComponentBuildVersionArn(v string) *GetComponentInput { - s.ComponentBuildVersionArn = &v +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *GetWorkflowInput) SetWorkflowBuildVersionArn(v string) *GetWorkflowInput { + s.WorkflowBuildVersionArn = &v return s } -type GetComponentOutput struct { +type GetWorkflowOutput struct { _ struct{} `type:"structure"` - // The component object associated with the specified ARN. - Component *Component `locationName:"component" type:"structure"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The workflow resource specified in the request. + Workflow *Workflow `locationName:"workflow" type:"structure"` } // String returns the string representation. @@ -13240,7 +15806,7 @@ type GetComponentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentOutput) String() string { +func (s GetWorkflowOutput) String() string { return awsutil.Prettify(s) } @@ -13249,30 +15815,24 @@ func (s GetComponentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentOutput) GoString() string { +func (s GetWorkflowOutput) GoString() string { return s.String() } -// SetComponent sets the Component field's value. -func (s *GetComponentOutput) SetComponent(v *Component) *GetComponentOutput { - s.Component = v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *GetComponentOutput) SetRequestId(v string) *GetComponentOutput { - s.RequestId = &v +// SetWorkflow sets the Workflow field's value. +func (s *GetWorkflowOutput) SetWorkflow(v *Workflow) *GetWorkflowOutput { + s.Workflow = v return s } -type GetComponentPolicyInput struct { +type GetWorkflowStepExecutionInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the component whose policy you want to - // retrieve. + // Use the unique identifier for a specific runtime instance of the workflow + // step to get runtime details for that step. // - // ComponentArn is a required field - ComponentArn *string `location:"querystring" locationName:"componentArn" type:"string" required:"true"` + // StepExecutionId is a required field + StepExecutionId *string `location:"querystring" locationName:"stepExecutionId" type:"string" required:"true"` } // String returns the string representation. @@ -13280,7 +15840,7 @@ type GetComponentPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentPolicyInput) String() string { +func (s GetWorkflowStepExecutionInput) String() string { return awsutil.Prettify(s) } @@ -13289,15 +15849,15 @@ func (s GetComponentPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetComponentPolicyInput) GoString() string { +func (s GetWorkflowStepExecutionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetComponentPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetComponentPolicyInput"} - if s.ComponentArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentArn")) +func (s *GetWorkflowStepExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowStepExecutionInput"} + if s.StepExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("StepExecutionId")) } if invalidParams.Len() > 0 { @@ -13306,59 +15866,73 @@ func (s *GetComponentPolicyInput) Validate() error { return nil } -// SetComponentArn sets the ComponentArn field's value. -func (s *GetComponentPolicyInput) SetComponentArn(v string) *GetComponentPolicyInput { - s.ComponentArn = &v +// SetStepExecutionId sets the StepExecutionId field's value. +func (s *GetWorkflowStepExecutionInput) SetStepExecutionId(v string) *GetWorkflowStepExecutionInput { + s.StepExecutionId = &v return s } -type GetComponentPolicyOutput struct { +type GetWorkflowStepExecutionOutput struct { _ struct{} `type:"structure"` - // The component policy. - Policy *string `locationName:"policy" min:"1" type:"string"` + // The name of the action that the specified step performs. + Action *string `locationName:"action" type:"string"` + + // Describes the specified workflow step. + Description *string `locationName:"description" type:"string"` + + // The timestamp when the specified runtime instance of the workflow step finished. + EndTime *string `locationName:"endTime" type:"string"` + + // The Amazon Resource Name (ARN) of the image resource build version that the + // specified runtime instance of the workflow step creates. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // Input parameters that Image Builder provided for the specified runtime instance + // of the workflow step. + Inputs *string `locationName:"inputs" type:"string"` + + // The output message from the specified runtime instance of the workflow step, + // if applicable. + Message *string `locationName:"message" type:"string"` + + // The name of the specified runtime instance of the workflow step. + Name *string `locationName:"name" type:"string"` + + // The action to perform if the workflow step fails. + OnFailure *string `locationName:"onFailure" min:"1" type:"string"` + + // The file names that the specified runtime version of the workflow step created + // as output. + Outputs *string `locationName:"outputs" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" 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 GetComponentPolicyOutput) String() string { - return awsutil.Prettify(s) -} + // Reports on the rollback status of the specified runtime version of the workflow + // step, if applicable. + RollbackStatus *string `locationName:"rollbackStatus" type:"string" enum:"WorkflowStepExecutionRollbackStatus"` -// 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 GetComponentPolicyOutput) GoString() string { - return s.String() -} + // The timestamp when the specified runtime version of the workflow step started. + StartTime *string `locationName:"startTime" type:"string"` -// SetPolicy sets the Policy field's value. -func (s *GetComponentPolicyOutput) SetPolicy(v string) *GetComponentPolicyOutput { - s.Policy = &v - return s -} + // The current status for the specified runtime version of the workflow step. + Status *string `locationName:"status" type:"string" enum:"WorkflowStepExecutionStatus"` -// SetRequestId sets the RequestId field's value. -func (s *GetComponentPolicyOutput) SetRequestId(v string) *GetComponentPolicyOutput { - s.RequestId = &v - return s -} + // The unique identifier for the runtime version of the workflow step that you + // specified in the request. + StepExecutionId *string `locationName:"stepExecutionId" type:"string"` -type GetContainerRecipeInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The maximum duration in seconds for this step to complete its action. + TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"` - // The Amazon Resource Name (ARN) of the container recipe to retrieve. - // - // ContainerRecipeArn is a required field - ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the build version for the Image Builder + // workflow resource that defines this workflow step. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` + + // The unique identifier that Image Builder assigned to keep track of runtime + // details when it ran the workflow. + WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` } // String returns the string representation. @@ -13366,7 +15940,7 @@ type GetContainerRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContainerRecipeInput) String() string { +func (s GetWorkflowStepExecutionOutput) String() string { return awsutil.Prettify(s) } @@ -13375,124 +15949,119 @@ func (s GetContainerRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContainerRecipeInput) GoString() string { +func (s GetWorkflowStepExecutionOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetContainerRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipeInput"} - if s.ContainerRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) - } +// SetAction sets the Action field's value. +func (s *GetWorkflowStepExecutionOutput) SetAction(v string) *GetWorkflowStepExecutionOutput { + s.Action = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDescription sets the Description field's value. +func (s *GetWorkflowStepExecutionOutput) SetDescription(v string) *GetWorkflowStepExecutionOutput { + s.Description = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetWorkflowStepExecutionOutput) SetEndTime(v string) *GetWorkflowStepExecutionOutput { + s.EndTime = &v + return s } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *GetContainerRecipeInput) SetContainerRecipeArn(v string) *GetContainerRecipeInput { - s.ContainerRecipeArn = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *GetWorkflowStepExecutionOutput) SetImageBuildVersionArn(v string) *GetWorkflowStepExecutionOutput { + s.ImageBuildVersionArn = &v return s } -type GetContainerRecipeOutput struct { - _ struct{} `type:"structure"` - - // The container recipe object that is returned. - ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"` +// SetInputs sets the Inputs field's value. +func (s *GetWorkflowStepExecutionOutput) SetInputs(v string) *GetWorkflowStepExecutionOutput { + s.Inputs = &v + return s +} - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` +// SetMessage sets the Message field's value. +func (s *GetWorkflowStepExecutionOutput) SetMessage(v string) *GetWorkflowStepExecutionOutput { + s.Message = &v + return s } -// 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 GetContainerRecipeOutput) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *GetWorkflowStepExecutionOutput) SetName(v string) *GetWorkflowStepExecutionOutput { + s.Name = &v + return 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 GetContainerRecipeOutput) GoString() string { - return s.String() +// SetOnFailure sets the OnFailure field's value. +func (s *GetWorkflowStepExecutionOutput) SetOnFailure(v string) *GetWorkflowStepExecutionOutput { + s.OnFailure = &v + return s } -// SetContainerRecipe sets the ContainerRecipe field's value. -func (s *GetContainerRecipeOutput) SetContainerRecipe(v *ContainerRecipe) *GetContainerRecipeOutput { - s.ContainerRecipe = v +// SetOutputs sets the Outputs field's value. +func (s *GetWorkflowStepExecutionOutput) SetOutputs(v string) *GetWorkflowStepExecutionOutput { + s.Outputs = &v return s } // SetRequestId sets the RequestId field's value. -func (s *GetContainerRecipeOutput) SetRequestId(v string) *GetContainerRecipeOutput { +func (s *GetWorkflowStepExecutionOutput) SetRequestId(v string) *GetWorkflowStepExecutionOutput { s.RequestId = &v return s } -type GetContainerRecipePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The Amazon Resource Name (ARN) of the container recipe for the policy being - // requested. - // - // ContainerRecipeArn is a required field - ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"` +// SetRollbackStatus sets the RollbackStatus field's value. +func (s *GetWorkflowStepExecutionOutput) SetRollbackStatus(v string) *GetWorkflowStepExecutionOutput { + s.RollbackStatus = &v + return s } -// 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 GetContainerRecipePolicyInput) String() string { - return awsutil.Prettify(s) +// SetStartTime sets the StartTime field's value. +func (s *GetWorkflowStepExecutionOutput) SetStartTime(v string) *GetWorkflowStepExecutionOutput { + s.StartTime = &v + return 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 GetContainerRecipePolicyInput) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *GetWorkflowStepExecutionOutput) SetStatus(v string) *GetWorkflowStepExecutionOutput { + s.Status = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetContainerRecipePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipePolicyInput"} - if s.ContainerRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) - } +// SetStepExecutionId sets the StepExecutionId field's value. +func (s *GetWorkflowStepExecutionOutput) SetStepExecutionId(v string) *GetWorkflowStepExecutionOutput { + s.StepExecutionId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTimeoutSeconds sets the TimeoutSeconds field's value. +func (s *GetWorkflowStepExecutionOutput) SetTimeoutSeconds(v int64) *GetWorkflowStepExecutionOutput { + s.TimeoutSeconds = &v + return s } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *GetContainerRecipePolicyInput) SetContainerRecipeArn(v string) *GetContainerRecipePolicyInput { - s.ContainerRecipeArn = &v +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *GetWorkflowStepExecutionOutput) SetWorkflowBuildVersionArn(v string) *GetWorkflowStepExecutionOutput { + s.WorkflowBuildVersionArn = &v return s } -type GetContainerRecipePolicyOutput struct { - _ struct{} `type:"structure"` +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *GetWorkflowStepExecutionOutput) SetWorkflowExecutionId(v string) *GetWorkflowStepExecutionOutput { + s.WorkflowExecutionId = &v + return s +} - // The container recipe policy object that is returned. - Policy *string `locationName:"policy" min:"1" type:"string"` +// You have specified a client token for an operation using parameter values +// that differ from a previous request that used the same client token. +type IdempotentParameterMismatchException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -13500,7 +16069,7 @@ type GetContainerRecipePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContainerRecipePolicyOutput) String() string { +func (s IdempotentParameterMismatchException) String() string { return awsutil.Prettify(s) } @@ -13509,116 +16078,176 @@ func (s GetContainerRecipePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContainerRecipePolicyOutput) GoString() string { +func (s IdempotentParameterMismatchException) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetContainerRecipePolicyOutput) SetPolicy(v string) *GetContainerRecipePolicyOutput { - s.Policy = &v - return s +func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error { + return &IdempotentParameterMismatchException{ + RespMetadata: v, + } } -// SetRequestId sets the RequestId field's value. -func (s *GetContainerRecipePolicyOutput) SetRequestId(v string) *GetContainerRecipePolicyOutput { - s.RequestId = &v - return s +// Code returns the exception type name. +func (s *IdempotentParameterMismatchException) Code() string { + return "IdempotentParameterMismatchException" } -type GetDistributionConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Message returns the exception's message. +func (s *IdempotentParameterMismatchException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The Amazon Resource Name (ARN) of the distribution configuration that you - // want to retrieve. - // - // DistributionConfigurationArn is a required field - DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IdempotentParameterMismatchException) OrigErr() error { + return nil } -// 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 GetDistributionConfigurationInput) String() string { - return awsutil.Prettify(s) +func (s *IdempotentParameterMismatchException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// 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 GetDistributionConfigurationInput) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *IdempotentParameterMismatchException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *IdempotentParameterMismatchException) RequestID() string { + return s.RespMetadata.RequestID } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDistributionConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigurationInput"} - if s.DistributionConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) - } +// An Image Builder image. You must specify exactly one recipe for the image +// – either a container recipe (containerRecipe), which creates a container +// image, or an image recipe (imageRecipe), which creates an AMI. +type Image struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image. + // + // Semantic versioning is included in each object's Amazon Resource Name (ARN), + // at the level that applies to that object as follows: + // + // Versionless ARNs and Name ARNs do not include specific values in any of the + // nodes. The nodes are either left off entirely, or they are specified as wildcards, + // for example: x.x.x. + // + // Version ARNs have only the first three nodes: .. + // + // Build version ARNs have all four nodes, and point to a specific build for + // a specific version of an object. + Arn *string `locationName:"arn" type:"string"` + + // Indicates the type of build that created this image. The build can be initiated + // in the following ways: + // + // * USER_INITIATED – A manual pipeline build request. + // + // * SCHEDULED – A pipeline build initiated by a cron expression in the + // Image Builder pipeline, or from EventBridge. + // + // * IMPORT – A VM import created the image to use as the base image for + // the recipe. + BuildType *string `locationName:"buildType" type:"string" enum:"BuildType"` + + // For container images, this is the container recipe that Image Builder used + // to create the image. For images that distribute an AMI, this is empty. + ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"` + + // The date on which Image Builder created this image. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The time when deprecation occurs for an image resource. This can be a past + // or future date. + DeprecationTime *time.Time `locationName:"deprecationTime" type:"timestamp"` + + // The distribution configuration that Image Builder used to create this image. + DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"` + + // Indicates whether Image Builder collects additional information about the + // image, such as the operating system (OS) version and package list. + EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` + + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to perform workflow actions. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // For images that distribute an AMI, this is the image recipe that Image Builder + // used to create the image. For container images, this is empty. + ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"` + + // Contains settings for vulnerability scans. + ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + + // The origin of the base image that Image Builder used to build this image. + ImageSource *string `locationName:"imageSource" type:"string" enum:"ImageSource"` + + // The image tests that ran when that Image Builder created this image. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The infrastructure that Image Builder used to create this image. + InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` + + // Identifies the last runtime instance of the lifecycle policy to take action + // on the image. + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The name of the image. + Name *string `locationName:"name" type:"string"` -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *GetDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *GetDistributionConfigurationInput { - s.DistributionConfigurationArn = &v - return s -} + // The operating system version for instances that launch from this image. For + // example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. + OsVersion *string `locationName:"osVersion" min:"1" type:"string"` -type GetDistributionConfigurationOutput struct { - _ struct{} `type:"structure"` + // The output resources that Image Builder produces for this image. + OutputResources *OutputResources `locationName:"outputResources" type:"structure"` - // The distribution configuration object. - DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"` + // The image operating system platform, such as Linux or Windows. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` -} + // Contains information about the current state of scans for this image. + ScanState *ImageScanState `locationName:"scanState" 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 GetDistributionConfigurationOutput) String() string { - return awsutil.Prettify(s) -} + // The Amazon Resource Name (ARN) of the image pipeline that created this image. + SourcePipelineArn *string `locationName:"sourcePipelineArn" type:"string"` -// 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 GetDistributionConfigurationOutput) GoString() string { - return s.String() -} + // The name of the image pipeline that created this image. + SourcePipelineName *string `locationName:"sourcePipelineName" type:"string"` -// SetDistributionConfiguration sets the DistributionConfiguration field's value. -func (s *GetDistributionConfigurationOutput) SetDistributionConfiguration(v *DistributionConfiguration) *GetDistributionConfigurationOutput { - s.DistributionConfiguration = v - return s -} + // The state of the image. + State *ImageState `locationName:"state" type:"structure"` -// SetRequestId sets the RequestId field's value. -func (s *GetDistributionConfigurationOutput) SetRequestId(v string) *GetDistributionConfigurationOutput { - s.RequestId = &v - return s -} + // The tags that apply to this image. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` -type GetImageInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // Specifies whether this image produces an AMI or a container image. + Type *string `locationName:"type" type:"string" enum:"ImageType"` - // The Amazon Resource Name (ARN) of the image that you want to get. + // The semantic version of the image. // - // ImageBuildVersionArn is a required field - ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + Version *string `locationName:"version" type:"string"` + + // Contains the build and test workflows that are associated with the image. + Workflows []*WorkflowConfiguration `locationName:"workflows" type:"list"` } // String returns the string representation. @@ -13626,7 +16255,7 @@ type GetImageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageInput) String() string { +func (s Image) String() string { return awsutil.Prettify(s) } @@ -13635,209 +16264,176 @@ func (s GetImageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageInput) GoString() string { +func (s Image) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetImageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImageInput"} - if s.ImageBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Image) SetArn(v string) *Image { + s.Arn = &v + return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *GetImageInput) SetImageBuildVersionArn(v string) *GetImageInput { - s.ImageBuildVersionArn = &v +// SetBuildType sets the BuildType field's value. +func (s *Image) SetBuildType(v string) *Image { + s.BuildType = &v return s } -type GetImageOutput struct { - _ struct{} `type:"structure"` - - // The image object. - Image *Image `locationName:"image" type:"structure"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` +// SetContainerRecipe sets the ContainerRecipe field's value. +func (s *Image) SetContainerRecipe(v *ContainerRecipe) *Image { + s.ContainerRecipe = v + return s } -// 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 GetImageOutput) String() string { - return awsutil.Prettify(s) +// SetDateCreated sets the DateCreated field's value. +func (s *Image) SetDateCreated(v string) *Image { + s.DateCreated = &v + return 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 GetImageOutput) GoString() string { - return s.String() +// SetDeprecationTime sets the DeprecationTime field's value. +func (s *Image) SetDeprecationTime(v time.Time) *Image { + s.DeprecationTime = &v + return s } -// SetImage sets the Image field's value. -func (s *GetImageOutput) SetImage(v *Image) *GetImageOutput { - s.Image = v +// SetDistributionConfiguration sets the DistributionConfiguration field's value. +func (s *Image) SetDistributionConfiguration(v *DistributionConfiguration) *Image { + s.DistributionConfiguration = v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetImageOutput) SetRequestId(v string) *GetImageOutput { - s.RequestId = &v +// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. +func (s *Image) SetEnhancedImageMetadataEnabled(v bool) *Image { + s.EnhancedImageMetadataEnabled = &v return s } -type GetImagePipelineInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve. - // - // ImagePipelineArn is a required field - ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` +// SetExecutionRole sets the ExecutionRole field's value. +func (s *Image) SetExecutionRole(v string) *Image { + s.ExecutionRole = &v + return s } -// 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 GetImagePipelineInput) String() string { - return awsutil.Prettify(s) +// SetImageRecipe sets the ImageRecipe field's value. +func (s *Image) SetImageRecipe(v *ImageRecipe) *Image { + s.ImageRecipe = v + return 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 GetImagePipelineInput) GoString() string { - return s.String() +// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. +func (s *Image) SetImageScanningConfiguration(v *ImageScanningConfiguration) *Image { + s.ImageScanningConfiguration = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetImagePipelineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImagePipelineInput"} - if s.ImagePipelineArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) - } +// SetImageSource sets the ImageSource field's value. +func (s *Image) SetImageSource(v string) *Image { + s.ImageSource = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *Image) SetImageTestsConfiguration(v *ImageTestsConfiguration) *Image { + s.ImageTestsConfiguration = v + return s } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *GetImagePipelineInput) SetImagePipelineArn(v string) *GetImagePipelineInput { - s.ImagePipelineArn = &v +// SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value. +func (s *Image) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *Image { + s.InfrastructureConfiguration = v return s } -type GetImagePipelineOutput struct { - _ struct{} `type:"structure"` +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *Image) SetLifecycleExecutionId(v string) *Image { + s.LifecycleExecutionId = &v + return s +} - // The image pipeline object. - ImagePipeline *ImagePipeline `locationName:"imagePipeline" type:"structure"` +// SetName sets the Name field's value. +func (s *Image) SetName(v string) *Image { + s.Name = &v + return s +} - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` +// SetOsVersion sets the OsVersion field's value. +func (s *Image) SetOsVersion(v string) *Image { + s.OsVersion = &v + return s } -// 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 GetImagePipelineOutput) String() string { - return awsutil.Prettify(s) +// SetOutputResources sets the OutputResources field's value. +func (s *Image) SetOutputResources(v *OutputResources) *Image { + s.OutputResources = v + return 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 GetImagePipelineOutput) GoString() string { - return s.String() +// SetPlatform sets the Platform field's value. +func (s *Image) SetPlatform(v string) *Image { + s.Platform = &v + return s } -// SetImagePipeline sets the ImagePipeline field's value. -func (s *GetImagePipelineOutput) SetImagePipeline(v *ImagePipeline) *GetImagePipelineOutput { - s.ImagePipeline = v +// SetScanState sets the ScanState field's value. +func (s *Image) SetScanState(v *ImageScanState) *Image { + s.ScanState = v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetImagePipelineOutput) SetRequestId(v string) *GetImagePipelineOutput { - s.RequestId = &v +// SetSourcePipelineArn sets the SourcePipelineArn field's value. +func (s *Image) SetSourcePipelineArn(v string) *Image { + s.SourcePipelineArn = &v return s } -type GetImagePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The Amazon Resource Name (ARN) of the image whose policy you want to retrieve. - // - // ImageArn is a required field - ImageArn *string `location:"querystring" locationName:"imageArn" type:"string" required:"true"` +// SetSourcePipelineName sets the SourcePipelineName field's value. +func (s *Image) SetSourcePipelineName(v string) *Image { + s.SourcePipelineName = &v + return s } -// 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 GetImagePolicyInput) String() string { - return awsutil.Prettify(s) +// SetState sets the State field's value. +func (s *Image) SetState(v *ImageState) *Image { + s.State = v + return 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 GetImagePolicyInput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *Image) SetTags(v map[string]*string) *Image { + s.Tags = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetImagePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImagePolicyInput"} - if s.ImageArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageArn")) - } +// SetType sets the Type field's value. +func (s *Image) SetType(v string) *Image { + s.Type = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetVersion sets the Version field's value. +func (s *Image) SetVersion(v string) *Image { + s.Version = &v + return s } -// SetImageArn sets the ImageArn field's value. -func (s *GetImagePolicyInput) SetImageArn(v string) *GetImagePolicyInput { - s.ImageArn = &v +// SetWorkflows sets the Workflows field's value. +func (s *Image) SetWorkflows(v []*WorkflowConfiguration) *Image { + s.Workflows = v return s } -type GetImagePolicyOutput struct { +// Contains vulnerability counts for a specific image. +type ImageAggregation struct { _ struct{} `type:"structure"` - // The image policy object. - Policy *string `locationName:"policy" min:"1" type:"string"` + // The Amazon Resource Name (ARN) that identifies the image for this aggregation. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Counts by severity level for medium severity and higher level findings, plus + // a total for all of the findings for the specified image. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -13845,7 +16441,7 @@ type GetImagePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImagePolicyOutput) String() string { +func (s ImageAggregation) String() string { return awsutil.Prettify(s) } @@ -13854,29 +16450,31 @@ func (s GetImagePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImagePolicyOutput) GoString() string { +func (s ImageAggregation) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetImagePolicyOutput) SetPolicy(v string) *GetImagePolicyOutput { - s.Policy = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ImageAggregation) SetImageBuildVersionArn(v string) *ImageAggregation { + s.ImageBuildVersionArn = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetImagePolicyOutput) SetRequestId(v string) *GetImagePolicyOutput { - s.RequestId = &v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *ImageAggregation) SetSeverityCounts(v *SeverityCounts) *ImageAggregation { + s.SeverityCounts = v return s } -type GetImageRecipeInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Represents a package installed on an Image Builder image. +type ImagePackage struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image recipe that you want to retrieve. - // - // ImageRecipeArn is a required field - ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` + // The name of the package as reported to the operating system package manager. + PackageName *string `locationName:"packageName" min:"1" type:"string"` + + // The version of the package as reported to the operating system package manager. + PackageVersion *string `locationName:"packageVersion" min:"1" type:"string"` } // String returns the string representation. @@ -13884,7 +16482,7 @@ type GetImageRecipeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageRecipeInput) String() string { +func (s ImagePackage) String() string { return awsutil.Prettify(s) } @@ -13893,124 +16491,93 @@ func (s GetImageRecipeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageRecipeInput) GoString() string { +func (s ImagePackage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetImageRecipeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImageRecipeInput"} - if s.ImageRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPackageName sets the PackageName field's value. +func (s *ImagePackage) SetPackageName(v string) *ImagePackage { + s.PackageName = &v + return s } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *GetImageRecipeInput) SetImageRecipeArn(v string) *GetImageRecipeInput { - s.ImageRecipeArn = &v +// SetPackageVersion sets the PackageVersion field's value. +func (s *ImagePackage) SetPackageVersion(v string) *ImagePackage { + s.PackageVersion = &v return s } -type GetImageRecipeOutput struct { +// Details of an image pipeline. +type ImagePipeline struct { _ struct{} `type:"structure"` - // The image recipe object. - ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"` + // The Amazon Resource Name (ARN) of the image pipeline. + Arn *string `locationName:"arn" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` -} + // The Amazon Resource Name (ARN) of the container recipe that is used for this + // pipeline. + ContainerRecipeArn *string `locationName:"containerRecipeArn" 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 GetImageRecipeOutput) String() string { - return awsutil.Prettify(s) -} + // The date on which this image pipeline was created. + DateCreated *string `locationName:"dateCreated" type:"string"` -// 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 GetImageRecipeOutput) GoString() string { - return s.String() -} + // This is no longer supported, and does not return a value. + DateLastRun *string `locationName:"dateLastRun" type:"string"` -// SetImageRecipe sets the ImageRecipe field's value. -func (s *GetImageRecipeOutput) SetImageRecipe(v *ImageRecipe) *GetImageRecipeOutput { - s.ImageRecipe = v - return s -} + // The next date when the pipeline is scheduled to run. + DateNextRun *string `locationName:"dateNextRun" type:"string"` -// SetRequestId sets the RequestId field's value. -func (s *GetImageRecipeOutput) SetRequestId(v string) *GetImageRecipeOutput { - s.RequestId = &v - return s -} + // The date on which this image pipeline was last updated. + DateUpdated *string `locationName:"dateUpdated" type:"string"` -type GetImageRecipePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The description of the image pipeline. + Description *string `locationName:"description" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the image recipe whose policy you want - // to retrieve. - // - // ImageRecipeArn is a required field - ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` -} + // The Amazon Resource Name (ARN) of the distribution configuration associated + // with this image pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" 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 GetImageRecipePolicyInput) String() string { - return awsutil.Prettify(s) -} + // Collects additional information about the image being created, including + // the operating system (OS) version and package list. This information is used + // to enhance the overall experience of using EC2 Image Builder. Enabled by + // default. + EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` -// 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 GetImageRecipePolicyInput) GoString() string { - return s.String() -} + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to perform workflow actions. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetImageRecipePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImageRecipePolicyInput"} - if s.ImageRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) - } + // The Amazon Resource Name (ARN) of the image recipe associated with this image + // pipeline. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // Contains settings for vulnerability scans. + ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + + // The image tests configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration associated + // with this image pipeline. + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + + // The name of the image pipeline. + Name *string `locationName:"name" type:"string"` + + // The platform of the image pipeline. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *GetImageRecipePolicyInput) SetImageRecipeArn(v string) *GetImageRecipePolicyInput { - s.ImageRecipeArn = &v - return s -} + // The schedule of the image pipeline. + Schedule *Schedule `locationName:"schedule" type:"structure"` -type GetImageRecipePolicyOutput struct { - _ struct{} `type:"structure"` + // The status of the image pipeline. + Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` - // The image recipe policy object. - Policy *string `locationName:"policy" min:"1" type:"string"` + // The tags of this image pipeline. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Contains the workflows that run for the image pipeline. + Workflows []*WorkflowConfiguration `locationName:"workflows" type:"list"` } // String returns the string representation. @@ -14018,7 +16585,7 @@ type GetImageRecipePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageRecipePolicyOutput) String() string { +func (s ImagePipeline) String() string { return awsutil.Prettify(s) } @@ -14027,119 +16594,141 @@ func (s GetImageRecipePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetImageRecipePolicyOutput) GoString() string { +func (s ImagePipeline) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetImageRecipePolicyOutput) SetPolicy(v string) *GetImageRecipePolicyOutput { - s.Policy = &v +// SetArn sets the Arn field's value. +func (s *ImagePipeline) SetArn(v string) *ImagePipeline { + s.Arn = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetImageRecipePolicyOutput) SetRequestId(v string) *GetImageRecipePolicyOutput { - s.RequestId = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *ImagePipeline) SetContainerRecipeArn(v string) *ImagePipeline { + s.ContainerRecipeArn = &v return s } -// GetInfrastructureConfiguration request object. -type GetInfrastructureConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetDateCreated sets the DateCreated field's value. +func (s *ImagePipeline) SetDateCreated(v string) *ImagePipeline { + s.DateCreated = &v + return s +} - // The Amazon Resource Name (ARN) of the infrastructure configuration that you - // want to retrieve. - // - // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` +// SetDateLastRun sets the DateLastRun field's value. +func (s *ImagePipeline) SetDateLastRun(v string) *ImagePipeline { + s.DateLastRun = &v + return s } -// 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 GetInfrastructureConfigurationInput) String() string { - return awsutil.Prettify(s) +// SetDateNextRun sets the DateNextRun field's value. +func (s *ImagePipeline) SetDateNextRun(v string) *ImagePipeline { + s.DateNextRun = &v + return 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 GetInfrastructureConfigurationInput) GoString() string { - return s.String() +// SetDateUpdated sets the DateUpdated field's value. +func (s *ImagePipeline) SetDateUpdated(v string) *ImagePipeline { + s.DateUpdated = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetInfrastructureConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetInfrastructureConfigurationInput"} - if s.InfrastructureConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) - } +// SetDescription sets the Description field's value. +func (s *ImagePipeline) SetDescription(v string) *ImagePipeline { + s.Description = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *ImagePipeline) SetDistributionConfigurationArn(v string) *ImagePipeline { + s.DistributionConfigurationArn = &v + return s +} + +// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. +func (s *ImagePipeline) SetEnhancedImageMetadataEnabled(v bool) *ImagePipeline { + s.EnhancedImageMetadataEnabled = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *ImagePipeline) SetExecutionRole(v string) *ImagePipeline { + s.ExecutionRole = &v + return s +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *ImagePipeline) SetImageRecipeArn(v string) *ImagePipeline { + s.ImageRecipeArn = &v + return s +} + +// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. +func (s *ImagePipeline) SetImageScanningConfiguration(v *ImageScanningConfiguration) *ImagePipeline { + s.ImageScanningConfiguration = v + return s +} + +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *ImagePipeline) SetImageTestsConfiguration(v *ImageTestsConfiguration) *ImagePipeline { + s.ImageTestsConfiguration = v + return s } // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *GetInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *GetInfrastructureConfigurationInput { +func (s *ImagePipeline) SetInfrastructureConfigurationArn(v string) *ImagePipeline { s.InfrastructureConfigurationArn = &v return s } -// GetInfrastructureConfiguration response object. -type GetInfrastructureConfigurationOutput struct { - _ struct{} `type:"structure"` - - // The infrastructure configuration object. - InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` +// SetName sets the Name field's value. +func (s *ImagePipeline) SetName(v string) *ImagePipeline { + s.Name = &v + return s +} - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` +// SetPlatform sets the Platform field's value. +func (s *ImagePipeline) SetPlatform(v string) *ImagePipeline { + s.Platform = &v + return s } -// 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 GetInfrastructureConfigurationOutput) String() string { - return awsutil.Prettify(s) +// SetSchedule sets the Schedule field's value. +func (s *ImagePipeline) SetSchedule(v *Schedule) *ImagePipeline { + s.Schedule = v + return 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 GetInfrastructureConfigurationOutput) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *ImagePipeline) SetStatus(v string) *ImagePipeline { + s.Status = &v + return s } -// SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value. -func (s *GetInfrastructureConfigurationOutput) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *GetInfrastructureConfigurationOutput { - s.InfrastructureConfiguration = v +// SetTags sets the Tags field's value. +func (s *ImagePipeline) SetTags(v map[string]*string) *ImagePipeline { + s.Tags = v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetInfrastructureConfigurationOutput) SetRequestId(v string) *GetInfrastructureConfigurationOutput { - s.RequestId = &v +// SetWorkflows sets the Workflows field's value. +func (s *ImagePipeline) SetWorkflows(v []*WorkflowConfiguration) *ImagePipeline { + s.Workflows = v return s } -type GetLifecycleExecutionInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Contains vulnerability counts for a specific image pipeline. +type ImagePipelineAggregation struct { + _ struct{} `type:"structure"` - // Use the unique identifier for a runtime instance of the lifecycle policy - // to get runtime details. - // - // LifecycleExecutionId is a required field - LifecycleExecutionId *string `location:"querystring" locationName:"lifecycleExecutionId" type:"string" required:"true"` + // The Amazon Resource Name (ARN) that identifies the image pipeline for this + // aggregation. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + + // Counts by severity level for medium severity and higher level findings, plus + // a total for all of the findings for the specified image pipeline. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -14147,7 +16736,7 @@ type GetLifecycleExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetLifecycleExecutionInput) String() string { +func (s ImagePipelineAggregation) String() string { return awsutil.Prettify(s) } @@ -14156,34 +16745,73 @@ func (s GetLifecycleExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetLifecycleExecutionInput) GoString() string { +func (s ImagePipelineAggregation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetLifecycleExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetLifecycleExecutionInput"} - if s.LifecycleExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *ImagePipelineAggregation) SetImagePipelineArn(v string) *ImagePipelineAggregation { + s.ImagePipelineArn = &v + return s } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *GetLifecycleExecutionInput) SetLifecycleExecutionId(v string) *GetLifecycleExecutionInput { - s.LifecycleExecutionId = &v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *ImagePipelineAggregation) SetSeverityCounts(v *SeverityCounts) *ImagePipelineAggregation { + s.SeverityCounts = v return s } -type GetLifecycleExecutionOutput struct { - _ struct{} `type:"structure"` +// An image recipe. +type ImageRecipe struct { + _ struct{} `type:"structure"` + + // Before you create a new AMI, Image Builder launches temporary Amazon EC2 + // instances to build and test your image configuration. Instance configuration + // adds a layer of control over those instances. You can define settings and + // add scripts to run when an instance is launched from your AMI. + AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe. + Arn *string `locationName:"arn" type:"string"` + + // The block device mappings to apply when creating images from this recipe. + BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` + + // The components that are included in the image recipe. Recipes require a minimum + // of one build component, and can have a maximum of 20 build and test components + // in any combination. + Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"` + + // The date on which this image recipe was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the image recipe. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the image recipe. + Name *string `locationName:"name" type:"string"` + + // The owner of the image recipe. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The base image of the image recipe. + ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + + // The platform of the image recipe. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // The tags of the image recipe. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // Specifies which type of image is created by the recipe - an AMI or a container + // image. + Type *string `locationName:"type" type:"string" enum:"ImageType"` + + // The version of the image recipe. + Version *string `locationName:"version" type:"string"` - // Runtime details for the specified runtime instance of the lifecycle policy. - LifecycleExecution *LifecycleExecution `locationName:"lifecycleExecution" type:"structure"` + // The working directory to be used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation. @@ -14191,7 +16819,7 @@ type GetLifecycleExecutionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetLifecycleExecutionOutput) String() string { +func (s ImageRecipe) String() string { return awsutil.Prettify(s) } @@ -14200,102 +16828,118 @@ func (s GetLifecycleExecutionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetLifecycleExecutionOutput) GoString() string { +func (s ImageRecipe) GoString() string { return s.String() } -// SetLifecycleExecution sets the LifecycleExecution field's value. -func (s *GetLifecycleExecutionOutput) SetLifecycleExecution(v *LifecycleExecution) *GetLifecycleExecutionOutput { - s.LifecycleExecution = v +// SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value. +func (s *ImageRecipe) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *ImageRecipe { + s.AdditionalInstanceConfiguration = v return s } -type GetLifecyclePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetArn sets the Arn field's value. +func (s *ImageRecipe) SetArn(v string) *ImageRecipe { + s.Arn = &v + return s +} - // Specifies the Amazon Resource Name (ARN) of the image lifecycle policy resource - // to get. - // - // LifecyclePolicyArn is a required field - LifecyclePolicyArn *string `location:"querystring" locationName:"lifecyclePolicyArn" type:"string" required:"true"` +// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. +func (s *ImageRecipe) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *ImageRecipe { + s.BlockDeviceMappings = v + return s } -// 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 GetLifecyclePolicyInput) String() string { - return awsutil.Prettify(s) +// SetComponents sets the Components field's value. +func (s *ImageRecipe) SetComponents(v []*ComponentConfiguration) *ImageRecipe { + s.Components = v + return 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 GetLifecyclePolicyInput) GoString() string { - return s.String() +// SetDateCreated sets the DateCreated field's value. +func (s *ImageRecipe) SetDateCreated(v string) *ImageRecipe { + s.DateCreated = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetLifecyclePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePolicyInput"} - if s.LifecyclePolicyArn == nil { - invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) - } +// SetDescription sets the Description field's value. +func (s *ImageRecipe) SetDescription(v string) *ImageRecipe { + s.Description = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetName sets the Name field's value. +func (s *ImageRecipe) SetName(v string) *ImageRecipe { + s.Name = &v + return s } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *GetLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *GetLifecyclePolicyInput { - s.LifecyclePolicyArn = &v +// SetOwner sets the Owner field's value. +func (s *ImageRecipe) SetOwner(v string) *ImageRecipe { + s.Owner = &v return s } -type GetLifecyclePolicyOutput struct { - _ struct{} `type:"structure"` +// SetParentImage sets the ParentImage field's value. +func (s *ImageRecipe) SetParentImage(v string) *ImageRecipe { + s.ParentImage = &v + return s +} - // The ARN of the image lifecycle policy resource that was returned. - LifecyclePolicy *LifecyclePolicy `locationName:"lifecyclePolicy" type:"structure"` +// SetPlatform sets the Platform field's value. +func (s *ImageRecipe) SetPlatform(v string) *ImageRecipe { + s.Platform = &v + return s } -// 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 GetLifecyclePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetTags sets the Tags field's value. +func (s *ImageRecipe) SetTags(v map[string]*string) *ImageRecipe { + s.Tags = v + return 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 GetLifecyclePolicyOutput) GoString() string { - return s.String() +// SetType sets the Type field's value. +func (s *ImageRecipe) SetType(v string) *ImageRecipe { + s.Type = &v + return s } -// SetLifecyclePolicy sets the LifecyclePolicy field's value. -func (s *GetLifecyclePolicyOutput) SetLifecyclePolicy(v *LifecyclePolicy) *GetLifecyclePolicyOutput { - s.LifecyclePolicy = v +// SetVersion sets the Version field's value. +func (s *ImageRecipe) SetVersion(v string) *ImageRecipe { + s.Version = &v return s } -type GetWorkflowExecutionInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ImageRecipe) SetWorkingDirectory(v string) *ImageRecipe { + s.WorkingDirectory = &v + return s +} - // Use the unique identifier for a runtime instance of the workflow to get runtime - // details. - // - // WorkflowExecutionId is a required field - WorkflowExecutionId *string `location:"querystring" locationName:"workflowExecutionId" type:"string" required:"true"` +// A summary of an image recipe. +type ImageRecipeSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe. + Arn *string `locationName:"arn" type:"string"` + + // The date on which this image recipe was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The name of the image recipe. + Name *string `locationName:"name" type:"string"` + + // The owner of the image recipe. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The base image of the image recipe. + ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + + // The platform of the image recipe. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // The tags of the image recipe. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -14303,7 +16947,7 @@ type GetWorkflowExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowExecutionInput) String() string { +func (s ImageRecipeSummary) String() string { return awsutil.Prettify(s) } @@ -14312,80 +16956,101 @@ func (s GetWorkflowExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowExecutionInput) GoString() string { +func (s ImageRecipeSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetWorkflowExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetWorkflowExecutionInput"} - if s.WorkflowExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionId")) - } +// SetArn sets the Arn field's value. +func (s *ImageRecipeSummary) SetArn(v string) *ImageRecipeSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDateCreated sets the DateCreated field's value. +func (s *ImageRecipeSummary) SetDateCreated(v string) *ImageRecipeSummary { + s.DateCreated = &v + return s } -// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *GetWorkflowExecutionInput) SetWorkflowExecutionId(v string) *GetWorkflowExecutionInput { - s.WorkflowExecutionId = &v +// SetName sets the Name field's value. +func (s *ImageRecipeSummary) SetName(v string) *ImageRecipeSummary { + s.Name = &v return s } -type GetWorkflowExecutionOutput struct { +// SetOwner sets the Owner field's value. +func (s *ImageRecipeSummary) SetOwner(v string) *ImageRecipeSummary { + s.Owner = &v + return s +} + +// SetParentImage sets the ParentImage field's value. +func (s *ImageRecipeSummary) SetParentImage(v string) *ImageRecipeSummary { + s.ParentImage = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImageRecipeSummary) SetPlatform(v string) *ImageRecipeSummary { + s.Platform = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImageRecipeSummary) SetTags(v map[string]*string) *ImageRecipeSummary { + s.Tags = v + return s +} + +// Contains details about a vulnerability scan finding. +type ImageScanFinding struct { _ struct{} `type:"structure"` - // The timestamp when the specified runtime instance of the workflow finished. - EndTime *string `locationName:"endTime" type:"string"` + // The Amazon Web Services account ID that's associated with the finding. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the image resource build version that the - // specified runtime instance of the workflow created. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The description of the finding. + Description *string `locationName:"description" min:"1" type:"string"` - // The output message from the specified runtime instance of the workflow, if - // applicable. - Message *string `locationName:"message" type:"string"` + // The date and time when the finding was first observed. + FirstObservedAt *time.Time `locationName:"firstObservedAt" type:"timestamp"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Details about whether a fix is available for any of the packages that are + // identified in the finding through a version update. + FixAvailable *string `locationName:"fixAvailable" min:"1" type:"string"` - // The timestamp when the specified runtime instance of the workflow started. - StartTime *string `locationName:"startTime" type:"string"` + // The Amazon Resource Name (ARN) of the image build version that's associated + // with the finding. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - // The current runtime status for the specified runtime instance of the workflow. - Status *string `locationName:"status" type:"string" enum:"WorkflowExecutionStatus"` + // The Amazon Resource Name (ARN) of the image pipeline that's associated with + // the finding. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` - // The total number of steps in the specified runtime instance of the workflow - // that ran. This number should equal the sum of the step counts for steps that - // succeeded, were skipped, and failed. - TotalStepCount *int64 `locationName:"totalStepCount" type:"integer"` + // The score that Amazon Inspector assigned for the finding. + InspectorScore *float64 `locationName:"inspectorScore" type:"double"` - // A runtime count for the number of steps that failed in the specified runtime - // instance of the workflow. - TotalStepsFailed *int64 `locationName:"totalStepsFailed" type:"integer"` + // An object that contains details of the Amazon Inspector score. + InspectorScoreDetails *InspectorScoreDetails `locationName:"inspectorScoreDetails" type:"structure"` - // A runtime count for the number of steps that were skipped in the specified - // runtime instance of the workflow. - TotalStepsSkipped *int64 `locationName:"totalStepsSkipped" type:"integer"` + // An object that contains the details of a package vulnerability finding. + PackageVulnerabilityDetails *PackageVulnerabilityDetails `locationName:"packageVulnerabilityDetails" type:"structure"` - // A runtime count for the number of steps that ran successfully in the specified - // runtime instance of the workflow. - TotalStepsSucceeded *int64 `locationName:"totalStepsSucceeded" type:"integer"` + // An object that contains the details about how to remediate the finding. + Remediation *Remediation `locationName:"remediation" type:"structure"` - // The type of workflow that Image Builder ran for the specified runtime instance - // of the workflow. - Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + // The severity of the finding. + Severity *string `locationName:"severity" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the build version for the Image Builder - // workflow resource that defines the specified runtime instance of the workflow. - WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` + // The title of the finding. + Title *string `locationName:"title" min:"1" type:"string"` - // The unique identifier that Image Builder assigned to keep track of runtime - // details when it ran the workflow. - WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` + // The type of the finding. Image Builder looks for findings of the type PACKAGE_VULNERABILITY + // that apply to output images, and excludes other types. + Type *string `locationName:"type" min:"1" type:"string"` + + // The timestamp when the finding was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` } // String returns the string representation. @@ -14393,7 +17058,7 @@ type GetWorkflowExecutionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowExecutionOutput) String() string { +func (s ImageScanFinding) String() string { return awsutil.Prettify(s) } @@ -14402,96 +17067,112 @@ func (s GetWorkflowExecutionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowExecutionOutput) GoString() string { +func (s ImageScanFinding) GoString() string { return s.String() } -// SetEndTime sets the EndTime field's value. -func (s *GetWorkflowExecutionOutput) SetEndTime(v string) *GetWorkflowExecutionOutput { - s.EndTime = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ImageScanFinding) SetAwsAccountId(v string) *ImageScanFinding { + s.AwsAccountId = &v return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *GetWorkflowExecutionOutput) SetImageBuildVersionArn(v string) *GetWorkflowExecutionOutput { - s.ImageBuildVersionArn = &v +// SetDescription sets the Description field's value. +func (s *ImageScanFinding) SetDescription(v string) *ImageScanFinding { + s.Description = &v return s } -// SetMessage sets the Message field's value. -func (s *GetWorkflowExecutionOutput) SetMessage(v string) *GetWorkflowExecutionOutput { - s.Message = &v +// SetFirstObservedAt sets the FirstObservedAt field's value. +func (s *ImageScanFinding) SetFirstObservedAt(v time.Time) *ImageScanFinding { + s.FirstObservedAt = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *GetWorkflowExecutionOutput) SetRequestId(v string) *GetWorkflowExecutionOutput { - s.RequestId = &v +// SetFixAvailable sets the FixAvailable field's value. +func (s *ImageScanFinding) SetFixAvailable(v string) *ImageScanFinding { + s.FixAvailable = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *GetWorkflowExecutionOutput) SetStartTime(v string) *GetWorkflowExecutionOutput { - s.StartTime = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ImageScanFinding) SetImageBuildVersionArn(v string) *ImageScanFinding { + s.ImageBuildVersionArn = &v return s } -// SetStatus sets the Status field's value. -func (s *GetWorkflowExecutionOutput) SetStatus(v string) *GetWorkflowExecutionOutput { - s.Status = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *ImageScanFinding) SetImagePipelineArn(v string) *ImageScanFinding { + s.ImagePipelineArn = &v return s } -// SetTotalStepCount sets the TotalStepCount field's value. -func (s *GetWorkflowExecutionOutput) SetTotalStepCount(v int64) *GetWorkflowExecutionOutput { - s.TotalStepCount = &v +// SetInspectorScore sets the InspectorScore field's value. +func (s *ImageScanFinding) SetInspectorScore(v float64) *ImageScanFinding { + s.InspectorScore = &v return s } -// SetTotalStepsFailed sets the TotalStepsFailed field's value. -func (s *GetWorkflowExecutionOutput) SetTotalStepsFailed(v int64) *GetWorkflowExecutionOutput { - s.TotalStepsFailed = &v +// SetInspectorScoreDetails sets the InspectorScoreDetails field's value. +func (s *ImageScanFinding) SetInspectorScoreDetails(v *InspectorScoreDetails) *ImageScanFinding { + s.InspectorScoreDetails = v return s } -// SetTotalStepsSkipped sets the TotalStepsSkipped field's value. -func (s *GetWorkflowExecutionOutput) SetTotalStepsSkipped(v int64) *GetWorkflowExecutionOutput { - s.TotalStepsSkipped = &v +// SetPackageVulnerabilityDetails sets the PackageVulnerabilityDetails field's value. +func (s *ImageScanFinding) SetPackageVulnerabilityDetails(v *PackageVulnerabilityDetails) *ImageScanFinding { + s.PackageVulnerabilityDetails = v return s } -// SetTotalStepsSucceeded sets the TotalStepsSucceeded field's value. -func (s *GetWorkflowExecutionOutput) SetTotalStepsSucceeded(v int64) *GetWorkflowExecutionOutput { - s.TotalStepsSucceeded = &v +// SetRemediation sets the Remediation field's value. +func (s *ImageScanFinding) SetRemediation(v *Remediation) *ImageScanFinding { + s.Remediation = v return s } -// SetType sets the Type field's value. -func (s *GetWorkflowExecutionOutput) SetType(v string) *GetWorkflowExecutionOutput { - s.Type = &v +// SetSeverity sets the Severity field's value. +func (s *ImageScanFinding) SetSeverity(v string) *ImageScanFinding { + s.Severity = &v return s } -// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. -func (s *GetWorkflowExecutionOutput) SetWorkflowBuildVersionArn(v string) *GetWorkflowExecutionOutput { - s.WorkflowBuildVersionArn = &v +// SetTitle sets the Title field's value. +func (s *ImageScanFinding) SetTitle(v string) *ImageScanFinding { + s.Title = &v return s } -// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *GetWorkflowExecutionOutput) SetWorkflowExecutionId(v string) *GetWorkflowExecutionOutput { - s.WorkflowExecutionId = &v +// SetType sets the Type field's value. +func (s *ImageScanFinding) SetType(v string) *ImageScanFinding { + s.Type = &v return s } -type GetWorkflowStepExecutionInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *ImageScanFinding) SetUpdatedAt(v time.Time) *ImageScanFinding { + s.UpdatedAt = &v + return s +} - // Use the unique identifier for a specific runtime instance of the workflow - // step to get runtime details for that step. - // - // StepExecutionId is a required field - StepExecutionId *string `location:"querystring" locationName:"stepExecutionId" type:"string" required:"true"` +// This returns exactly one type of aggregation, based on the filter that Image +// Builder applies in its API action. +type ImageScanFindingAggregation struct { + _ struct{} `type:"structure"` + + // Returns an object that contains severity counts based on an account ID. + AccountAggregation *AccountAggregation `locationName:"accountAggregation" type:"structure"` + + // Returns an object that contains severity counts based on the Amazon Resource + // Name (ARN) for a specific image. + ImageAggregation *ImageAggregation `locationName:"imageAggregation" type:"structure"` + + // Returns an object that contains severity counts based on an image pipeline + // ARN. + ImagePipelineAggregation *ImagePipelineAggregation `locationName:"imagePipelineAggregation" type:"structure"` + + // Returns an object that contains severity counts based on vulnerability ID. + VulnerabilityIdAggregation *VulnerabilityIdAggregation `locationName:"vulnerabilityIdAggregation" type:"structure"` } // String returns the string representation. @@ -14499,7 +17180,7 @@ type GetWorkflowStepExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowStepExecutionInput) String() string { +func (s ImageScanFindingAggregation) String() string { return awsutil.Prettify(s) } @@ -14508,90 +17189,99 @@ func (s GetWorkflowStepExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowStepExecutionInput) GoString() string { +func (s ImageScanFindingAggregation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetWorkflowStepExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetWorkflowStepExecutionInput"} - if s.StepExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("StepExecutionId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAccountAggregation sets the AccountAggregation field's value. +func (s *ImageScanFindingAggregation) SetAccountAggregation(v *AccountAggregation) *ImageScanFindingAggregation { + s.AccountAggregation = v + return s } -// SetStepExecutionId sets the StepExecutionId field's value. -func (s *GetWorkflowStepExecutionInput) SetStepExecutionId(v string) *GetWorkflowStepExecutionInput { - s.StepExecutionId = &v +// SetImageAggregation sets the ImageAggregation field's value. +func (s *ImageScanFindingAggregation) SetImageAggregation(v *ImageAggregation) *ImageScanFindingAggregation { + s.ImageAggregation = v return s } -type GetWorkflowStepExecutionOutput struct { - _ struct{} `type:"structure"` - - // The name of the action that the specified step performs. - Action *string `locationName:"action" type:"string"` - - // Describes the specified workflow step. - Description *string `locationName:"description" type:"string"` - - // The timestamp when the specified runtime instance of the workflow step finished. - EndTime *string `locationName:"endTime" type:"string"` - - // The Amazon Resource Name (ARN) of the image resource build version that the - // specified runtime instance of the workflow step creates. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` +// SetImagePipelineAggregation sets the ImagePipelineAggregation field's value. +func (s *ImageScanFindingAggregation) SetImagePipelineAggregation(v *ImagePipelineAggregation) *ImageScanFindingAggregation { + s.ImagePipelineAggregation = v + return s +} - // Input parameters that Image Builder provided for the specified runtime instance - // of the workflow step. - Inputs *string `locationName:"inputs" type:"string"` +// SetVulnerabilityIdAggregation sets the VulnerabilityIdAggregation field's value. +func (s *ImageScanFindingAggregation) SetVulnerabilityIdAggregation(v *VulnerabilityIdAggregation) *ImageScanFindingAggregation { + s.VulnerabilityIdAggregation = v + return s +} - // The output message from the specified runtime instance of the workflow step, - // if applicable. - Message *string `locationName:"message" type:"string"` +// A name value pair that Image Builder applies to streamline results from the +// vulnerability scan findings list action. +type ImageScanFindingsFilter struct { + _ struct{} `type:"structure"` - // The name of the specified runtime instance of the workflow step. + // The name of the image scan finding filter. Filter names are case-sensitive. Name *string `locationName:"name" type:"string"` - // The action to perform if the workflow step fails. - OnFailure *string `locationName:"onFailure" min:"1" type:"string"` - - // The file names that the specified runtime version of the workflow step created - // as output. - Outputs *string `locationName:"outputs" type:"string"` + // The filter values. Filter values are case-sensitive. + Values []*string `locationName:"values" min:"1" type:"list"` +} - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" 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 ImageScanFindingsFilter) String() string { + return awsutil.Prettify(s) +} - // Reports on the rollback status of the specified runtime version of the workflow - // step, if applicable. - RollbackStatus *string `locationName:"rollbackStatus" type:"string" enum:"WorkflowStepExecutionRollbackStatus"` +// 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 ImageScanFindingsFilter) GoString() string { + return s.String() +} - // The timestamp when the specified runtime version of the workflow step started. - StartTime *string `locationName:"startTime" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageScanFindingsFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageScanFindingsFilter"} + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } - // The current status for the specified runtime version of the workflow step. - Status *string `locationName:"status" type:"string" enum:"WorkflowStepExecutionStatus"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The unique identifier for the runtime version of the workflow step that you - // specified in the request. - StepExecutionId *string `locationName:"stepExecutionId" type:"string"` +// SetName sets the Name field's value. +func (s *ImageScanFindingsFilter) SetName(v string) *ImageScanFindingsFilter { + s.Name = &v + return s +} - // The maximum duration in seconds for this step to complete its action. - TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"` +// SetValues sets the Values field's value. +func (s *ImageScanFindingsFilter) SetValues(v []*string) *ImageScanFindingsFilter { + s.Values = v + return s +} - // The Amazon Resource Name (ARN) of the build version for the Image Builder - // workflow resource that defines this workflow step. - WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` +// Shows the vulnerability scan status for a specific image, and the reason +// for that status. +type ImageScanState struct { + _ struct{} `type:"structure"` - // The unique identifier that Image Builder assigned to keep track of runtime - // details when it ran the workflow. - WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` + // The reason for the scan status for the image. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The current state of vulnerability scans for the image. + Status *string `locationName:"status" type:"string" enum:"ImageScanStatus"` } // String returns the string representation. @@ -14599,7 +17289,7 @@ type GetWorkflowStepExecutionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowStepExecutionOutput) String() string { +func (s ImageScanState) String() string { return awsutil.Prettify(s) } @@ -14608,119 +17298,89 @@ func (s GetWorkflowStepExecutionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetWorkflowStepExecutionOutput) GoString() string { +func (s ImageScanState) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *GetWorkflowStepExecutionOutput) SetAction(v string) *GetWorkflowStepExecutionOutput { - s.Action = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *GetWorkflowStepExecutionOutput) SetDescription(v string) *GetWorkflowStepExecutionOutput { - s.Description = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *GetWorkflowStepExecutionOutput) SetEndTime(v string) *GetWorkflowStepExecutionOutput { - s.EndTime = &v - return s -} - -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *GetWorkflowStepExecutionOutput) SetImageBuildVersionArn(v string) *GetWorkflowStepExecutionOutput { - s.ImageBuildVersionArn = &v - return s -} - -// SetInputs sets the Inputs field's value. -func (s *GetWorkflowStepExecutionOutput) SetInputs(v string) *GetWorkflowStepExecutionOutput { - s.Inputs = &v - return s -} - -// SetMessage sets the Message field's value. -func (s *GetWorkflowStepExecutionOutput) SetMessage(v string) *GetWorkflowStepExecutionOutput { - s.Message = &v +// SetReason sets the Reason field's value. +func (s *ImageScanState) SetReason(v string) *ImageScanState { + s.Reason = &v return s } -// SetName sets the Name field's value. -func (s *GetWorkflowStepExecutionOutput) SetName(v string) *GetWorkflowStepExecutionOutput { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *ImageScanState) SetStatus(v string) *ImageScanState { + s.Status = &v return s } -// SetOnFailure sets the OnFailure field's value. -func (s *GetWorkflowStepExecutionOutput) SetOnFailure(v string) *GetWorkflowStepExecutionOutput { - s.OnFailure = &v - return s -} +// Contains settings for Image Builder image resource and container image scans. +type ImageScanningConfiguration struct { + _ struct{} `type:"structure"` -// SetOutputs sets the Outputs field's value. -func (s *GetWorkflowStepExecutionOutput) SetOutputs(v string) *GetWorkflowStepExecutionOutput { - s.Outputs = &v - return s -} + // Contains Amazon ECR settings for vulnerability scans. + EcrConfiguration *EcrConfiguration `locationName:"ecrConfiguration" type:"structure"` -// SetRequestId sets the RequestId field's value. -func (s *GetWorkflowStepExecutionOutput) SetRequestId(v string) *GetWorkflowStepExecutionOutput { - s.RequestId = &v - return s + // A setting that indicates whether Image Builder keeps a snapshot of the vulnerability + // scans that Amazon Inspector runs against the build instance when you create + // a new image. + ImageScanningEnabled *bool `locationName:"imageScanningEnabled" type:"boolean"` } -// SetRollbackStatus sets the RollbackStatus field's value. -func (s *GetWorkflowStepExecutionOutput) SetRollbackStatus(v string) *GetWorkflowStepExecutionOutput { - s.RollbackStatus = &v - return s +// 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 ImageScanningConfiguration) String() string { + return awsutil.Prettify(s) } -// SetStartTime sets the StartTime field's value. -func (s *GetWorkflowStepExecutionOutput) SetStartTime(v string) *GetWorkflowStepExecutionOutput { - s.StartTime = &v - return 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 ImageScanningConfiguration) GoString() string { + return s.String() } -// SetStatus sets the Status field's value. -func (s *GetWorkflowStepExecutionOutput) SetStatus(v string) *GetWorkflowStepExecutionOutput { - s.Status = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageScanningConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageScanningConfiguration"} + if s.EcrConfiguration != nil { + if err := s.EcrConfiguration.Validate(); err != nil { + invalidParams.AddNested("EcrConfiguration", err.(request.ErrInvalidParams)) + } + } -// SetStepExecutionId sets the StepExecutionId field's value. -func (s *GetWorkflowStepExecutionOutput) SetStepExecutionId(v string) *GetWorkflowStepExecutionOutput { - s.StepExecutionId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTimeoutSeconds sets the TimeoutSeconds field's value. -func (s *GetWorkflowStepExecutionOutput) SetTimeoutSeconds(v int64) *GetWorkflowStepExecutionOutput { - s.TimeoutSeconds = &v +// SetEcrConfiguration sets the EcrConfiguration field's value. +func (s *ImageScanningConfiguration) SetEcrConfiguration(v *EcrConfiguration) *ImageScanningConfiguration { + s.EcrConfiguration = v return s } -// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. -func (s *GetWorkflowStepExecutionOutput) SetWorkflowBuildVersionArn(v string) *GetWorkflowStepExecutionOutput { - s.WorkflowBuildVersionArn = &v +// SetImageScanningEnabled sets the ImageScanningEnabled field's value. +func (s *ImageScanningConfiguration) SetImageScanningEnabled(v bool) *ImageScanningConfiguration { + s.ImageScanningEnabled = &v return s } -// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *GetWorkflowStepExecutionOutput) SetWorkflowExecutionId(v string) *GetWorkflowStepExecutionOutput { - s.WorkflowExecutionId = &v - return s -} +// Image status and the reason for that status. +type ImageState struct { + _ struct{} `type:"structure"` -// You have specified a client token for an operation using parameter values -// that differ from a previous request that used the same client token. -type IdempotentParameterMismatchException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The reason for the status of the image. + Reason *string `locationName:"reason" min:"1" type:"string"` - Message_ *string `locationName:"message" type:"string"` + // The status of the image. + Status *string `locationName:"status" type:"string" enum:"ImageStatus"` } // String returns the string representation. @@ -14728,7 +17388,7 @@ type IdempotentParameterMismatchException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s IdempotentParameterMismatchException) String() string { +func (s ImageState) String() string { return awsutil.Prettify(s) } @@ -14737,67 +17397,27 @@ func (s IdempotentParameterMismatchException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s IdempotentParameterMismatchException) GoString() string { +func (s ImageState) GoString() string { return s.String() } -func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error { - return &IdempotentParameterMismatchException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *IdempotentParameterMismatchException) Code() string { - return "IdempotentParameterMismatchException" -} - -// Message returns the exception's message. -func (s *IdempotentParameterMismatchException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IdempotentParameterMismatchException) OrigErr() error { - return nil -} - -func (s *IdempotentParameterMismatchException) 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 *IdempotentParameterMismatchException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetReason sets the Reason field's value. +func (s *ImageState) SetReason(v string) *ImageState { + s.Reason = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *IdempotentParameterMismatchException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *ImageState) SetStatus(v string) *ImageState { + s.Status = &v + return s } -// An Image Builder image. You must specify exactly one recipe for the image -// – either a container recipe (containerRecipe), which creates a container -// image, or an image recipe (imageRecipe), which creates an AMI. -type Image struct { +// An image summary. +type ImageSummary struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the image. - // - // Semantic versioning is included in each object's Amazon Resource Name (ARN), - // at the level that applies to that object as follows: - // - // Versionless ARNs and Name ARNs do not include specific values in any of the - // nodes. The nodes are either left off entirely, or they are specified as wildcards, - // for example: x.x.x. - // - // Version ARNs have only the first three nodes: .. - // - // Build version ARNs have all four nodes, and point to a specific build for - // a specific version of an object. Arn *string `locationName:"arn" type:"string"` // Indicates the type of build that created this image. The build can be initiated @@ -14812,10 +17432,6 @@ type Image struct { // the recipe. BuildType *string `locationName:"buildType" type:"string" enum:"BuildType"` - // For container images, this is the container recipe that Image Builder used - // to create the image. For images that distribute an AMI, this is empty. - ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"` - // The date on which Image Builder created this image. DateCreated *string `locationName:"dateCreated" type:"string"` @@ -14823,55 +17439,29 @@ type Image struct { // or future date. DeprecationTime *time.Time `locationName:"deprecationTime" type:"timestamp"` - // The distribution configuration that Image Builder used to create this image. - DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"` - - // Indicates whether Image Builder collects additional information about the - // image, such as the operating system (OS) version and package list. - EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - - // For images that distribute an AMI, this is the image recipe that Image Builder - // used to create the image. For container images, this is empty. - ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"` - - // Contains settings for vulnerability scans. - ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` - // The origin of the base image that Image Builder used to build this image. ImageSource *string `locationName:"imageSource" type:"string" enum:"ImageSource"` - // The image tests that ran when that Image Builder created this image. - ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` - - // The infrastructure that Image Builder used to create this image. - InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` - // Identifies the last runtime instance of the lifecycle policy to take action // on the image. LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` // The name of the image. Name *string `locationName:"name" type:"string"` - - // The operating system version for instances that launch from this image. For - // example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. + + // The operating system version of the instances that launch from this image. + // For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. OsVersion *string `locationName:"osVersion" min:"1" type:"string"` - // The output resources that Image Builder produces for this image. + // The output resources that Image Builder produced when it created this image. OutputResources *OutputResources `locationName:"outputResources" type:"structure"` + // The owner of the image. + Owner *string `locationName:"owner" min:"1" type:"string"` + // The image operating system platform, such as Linux or Windows. Platform *string `locationName:"platform" type:"string" enum:"Platform"` - // Contains information about the current state of scans for this image. - ScanState *ImageScanState `locationName:"scanState" type:"structure"` - - // The Amazon Resource Name (ARN) of the image pipeline that created this image. - SourcePipelineArn *string `locationName:"sourcePipelineArn" type:"string"` - - // The name of the image pipeline that created this image. - SourcePipelineName *string `locationName:"sourcePipelineName" type:"string"` - // The state of the image. State *ImageState `locationName:"state" type:"structure"` @@ -14881,24 +17471,7 @@ type Image struct { // Specifies whether this image produces an AMI or a container image. Type *string `locationName:"type" type:"string" enum:"ImageType"` - // The semantic version of the image. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. + // The version of the image. Version *string `locationName:"version" type:"string"` } @@ -14907,7 +17480,7 @@ type Image struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Image) String() string { +func (s ImageSummary) String() string { return awsutil.Prettify(s) } @@ -14916,164 +17489,234 @@ func (s Image) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Image) GoString() string { +func (s ImageSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Image) SetArn(v string) *Image { +func (s *ImageSummary) SetArn(v string) *ImageSummary { s.Arn = &v return s } // SetBuildType sets the BuildType field's value. -func (s *Image) SetBuildType(v string) *Image { +func (s *ImageSummary) SetBuildType(v string) *ImageSummary { s.BuildType = &v return s } -// SetContainerRecipe sets the ContainerRecipe field's value. -func (s *Image) SetContainerRecipe(v *ContainerRecipe) *Image { - s.ContainerRecipe = v - return s -} - // SetDateCreated sets the DateCreated field's value. -func (s *Image) SetDateCreated(v string) *Image { +func (s *ImageSummary) SetDateCreated(v string) *ImageSummary { s.DateCreated = &v return s } // SetDeprecationTime sets the DeprecationTime field's value. -func (s *Image) SetDeprecationTime(v time.Time) *Image { +func (s *ImageSummary) SetDeprecationTime(v time.Time) *ImageSummary { s.DeprecationTime = &v return s } -// SetDistributionConfiguration sets the DistributionConfiguration field's value. -func (s *Image) SetDistributionConfiguration(v *DistributionConfiguration) *Image { - s.DistributionConfiguration = v - return s -} - -// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. -func (s *Image) SetEnhancedImageMetadataEnabled(v bool) *Image { - s.EnhancedImageMetadataEnabled = &v - return s -} - -// SetImageRecipe sets the ImageRecipe field's value. -func (s *Image) SetImageRecipe(v *ImageRecipe) *Image { - s.ImageRecipe = v - return s -} - -// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. -func (s *Image) SetImageScanningConfiguration(v *ImageScanningConfiguration) *Image { - s.ImageScanningConfiguration = v - return s -} - // SetImageSource sets the ImageSource field's value. -func (s *Image) SetImageSource(v string) *Image { +func (s *ImageSummary) SetImageSource(v string) *ImageSummary { s.ImageSource = &v return s } -// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. -func (s *Image) SetImageTestsConfiguration(v *ImageTestsConfiguration) *Image { - s.ImageTestsConfiguration = v - return s -} - -// SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value. -func (s *Image) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *Image { - s.InfrastructureConfiguration = v - return s -} - // SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *Image) SetLifecycleExecutionId(v string) *Image { +func (s *ImageSummary) SetLifecycleExecutionId(v string) *ImageSummary { s.LifecycleExecutionId = &v return s } // SetName sets the Name field's value. -func (s *Image) SetName(v string) *Image { +func (s *ImageSummary) SetName(v string) *ImageSummary { s.Name = &v return s } // SetOsVersion sets the OsVersion field's value. -func (s *Image) SetOsVersion(v string) *Image { +func (s *ImageSummary) SetOsVersion(v string) *ImageSummary { s.OsVersion = &v return s } // SetOutputResources sets the OutputResources field's value. -func (s *Image) SetOutputResources(v *OutputResources) *Image { +func (s *ImageSummary) SetOutputResources(v *OutputResources) *ImageSummary { s.OutputResources = v return s } -// SetPlatform sets the Platform field's value. -func (s *Image) SetPlatform(v string) *Image { - s.Platform = &v - return s -} - -// SetScanState sets the ScanState field's value. -func (s *Image) SetScanState(v *ImageScanState) *Image { - s.ScanState = v - return s -} - -// SetSourcePipelineArn sets the SourcePipelineArn field's value. -func (s *Image) SetSourcePipelineArn(v string) *Image { - s.SourcePipelineArn = &v +// SetOwner sets the Owner field's value. +func (s *ImageSummary) SetOwner(v string) *ImageSummary { + s.Owner = &v return s } -// SetSourcePipelineName sets the SourcePipelineName field's value. -func (s *Image) SetSourcePipelineName(v string) *Image { - s.SourcePipelineName = &v +// SetPlatform sets the Platform field's value. +func (s *ImageSummary) SetPlatform(v string) *ImageSummary { + s.Platform = &v return s } // SetState sets the State field's value. -func (s *Image) SetState(v *ImageState) *Image { +func (s *ImageSummary) SetState(v *ImageState) *ImageSummary { s.State = v return s } // SetTags sets the Tags field's value. -func (s *Image) SetTags(v map[string]*string) *Image { +func (s *ImageSummary) SetTags(v map[string]*string) *ImageSummary { s.Tags = v return s } // SetType sets the Type field's value. -func (s *Image) SetType(v string) *Image { +func (s *ImageSummary) SetType(v string) *ImageSummary { s.Type = &v return s } // SetVersion sets the Version field's value. -func (s *Image) SetVersion(v string) *Image { +func (s *ImageSummary) SetVersion(v string) *ImageSummary { s.Version = &v return s } -// Contains vulnerability counts for a specific image. -type ImageAggregation struct { +// Configure image tests for your pipeline build. Tests run after building the +// image, to verify that the AMI or container image is valid before distributing +// it. +type ImageTestsConfiguration struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that identifies the image for this aggregation. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // Determines if tests should run after building the image. Image Builder defaults + // to enable tests to run following the image build, before image distribution. + ImageTestsEnabled *bool `locationName:"imageTestsEnabled" type:"boolean"` - // Counts by severity level for medium severity and higher level findings, plus - // a total for all of the findings for the specified image. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // The maximum time in minutes that tests are permitted to run. + // + // The timeoutMinutes attribute is not currently active. This value is ignored. + TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"60" 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 ImageTestsConfiguration) 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 ImageTestsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageTestsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageTestsConfiguration"} + if s.TimeoutMinutes != nil && *s.TimeoutMinutes < 60 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMinutes", 60)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageTestsEnabled sets the ImageTestsEnabled field's value. +func (s *ImageTestsConfiguration) SetImageTestsEnabled(v bool) *ImageTestsConfiguration { + s.ImageTestsEnabled = &v + return s +} + +// SetTimeoutMinutes sets the TimeoutMinutes field's value. +func (s *ImageTestsConfiguration) SetTimeoutMinutes(v int64) *ImageTestsConfiguration { + s.TimeoutMinutes = &v + return s +} + +// The defining characteristics of a specific version of an Image Builder image. +type ImageVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a specific version of an Image Builder + // image. + // + // Semantic versioning is included in each object's Amazon Resource Name (ARN), + // at the level that applies to that object as follows: + // + // Versionless ARNs and Name ARNs do not include specific values in any of the + // nodes. The nodes are either left off entirely, or they are specified as wildcards, + // for example: x.x.x. + // + // Version ARNs have only the first three nodes: .. + // + // Build version ARNs have all four nodes, and point to a specific build for + // a specific version of an object. + Arn *string `locationName:"arn" type:"string"` + + // Indicates the type of build that created this image. The build can be initiated + // in the following ways: + // + // * USER_INITIATED – A manual pipeline build request. + // + // * SCHEDULED – A pipeline build initiated by a cron expression in the + // Image Builder pipeline, or from EventBridge. + // + // * IMPORT – A VM import created the image to use as the base image for + // the recipe. + BuildType *string `locationName:"buildType" type:"string" enum:"BuildType"` + + // The date on which this specific version of the Image Builder image was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The origin of the base image that Image Builder used to build this image. + ImageSource *string `locationName:"imageSource" type:"string" enum:"ImageSource"` + + // The name of this specific version of an Image Builder image. + Name *string `locationName:"name" type:"string"` + + // The operating system version of the Amazon EC2 build instance. For example, + // Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. + OsVersion *string `locationName:"osVersion" min:"1" type:"string"` + + // The owner of the image version. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The operating system platform of the image version, for example "Windows" + // or "Linux". + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // Specifies whether this image produces an AMI or a container image. + Type *string `locationName:"type" type:"string" enum:"ImageType"` + + // Details for a specific version of an Image Builder image. This version follows + // the semantic version syntax. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + Version *string `locationName:"version" type:"string"` } // String returns the string representation. @@ -15081,7 +17724,7 @@ type ImageAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageAggregation) String() string { +func (s ImageVersion) String() string { return awsutil.Prettify(s) } @@ -15090,127 +17733,136 @@ func (s ImageAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageAggregation) GoString() string { +func (s ImageVersion) GoString() string { return s.String() } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ImageAggregation) SetImageBuildVersionArn(v string) *ImageAggregation { - s.ImageBuildVersionArn = &v +// SetArn sets the Arn field's value. +func (s *ImageVersion) SetArn(v string) *ImageVersion { + s.Arn = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *ImageAggregation) SetSeverityCounts(v *SeverityCounts) *ImageAggregation { - s.SeverityCounts = v +// SetBuildType sets the BuildType field's value. +func (s *ImageVersion) SetBuildType(v string) *ImageVersion { + s.BuildType = &v return s } -// Represents a package installed on an Image Builder image. -type ImagePackage struct { - _ struct{} `type:"structure"` - - // The name of the package as reported to the operating system package manager. - PackageName *string `locationName:"packageName" min:"1" type:"string"` - - // The version of the package as reported to the operating system package manager. - PackageVersion *string `locationName:"packageVersion" min:"1" type:"string"` +// SetDateCreated sets the DateCreated field's value. +func (s *ImageVersion) SetDateCreated(v string) *ImageVersion { + s.DateCreated = &v + return s } -// 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 ImagePackage) String() string { - return awsutil.Prettify(s) +// SetImageSource sets the ImageSource field's value. +func (s *ImageVersion) SetImageSource(v string) *ImageVersion { + s.ImageSource = &v + return 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 ImagePackage) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *ImageVersion) SetName(v string) *ImageVersion { + s.Name = &v + return s } -// SetPackageName sets the PackageName field's value. -func (s *ImagePackage) SetPackageName(v string) *ImagePackage { - s.PackageName = &v +// SetOsVersion sets the OsVersion field's value. +func (s *ImageVersion) SetOsVersion(v string) *ImageVersion { + s.OsVersion = &v return s } -// SetPackageVersion sets the PackageVersion field's value. -func (s *ImagePackage) SetPackageVersion(v string) *ImagePackage { - s.PackageVersion = &v +// SetOwner sets the Owner field's value. +func (s *ImageVersion) SetOwner(v string) *ImageVersion { + s.Owner = &v return s } -// Details of an image pipeline. -type ImagePipeline struct { - _ struct{} `type:"structure"` +// SetPlatform sets the Platform field's value. +func (s *ImageVersion) SetPlatform(v string) *ImageVersion { + s.Platform = &v + return s +} - // The Amazon Resource Name (ARN) of the image pipeline. - Arn *string `locationName:"arn" type:"string"` +// SetType sets the Type field's value. +func (s *ImageVersion) SetType(v string) *ImageVersion { + s.Type = &v + return s +} - // The Amazon Resource Name (ARN) of the container recipe that is used for this - // pipeline. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` +// SetVersion sets the Version field's value. +func (s *ImageVersion) SetVersion(v string) *ImageVersion { + s.Version = &v + return s +} - // The date on which this image pipeline was created. - DateCreated *string `locationName:"dateCreated" type:"string"` +type ImportComponentInput struct { + _ struct{} `type:"structure"` - // This is no longer supported, and does not return a value. - DateLastRun *string `locationName:"dateLastRun" type:"string"` + // The change description of the component. This description indicates the change + // that has been made in this version, or what makes this version different + // from other versions of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - // The next date when the pipeline is scheduled to run. - DateNextRun *string `locationName:"dateNextRun" type:"string"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The date on which this image pipeline was last updated. - DateUpdated *string `locationName:"dateUpdated" type:"string"` + // The data of the component. Used to specify the data inline. Either data or + // uri can be used to specify the data within the component. + Data *string `locationName:"data" min:"1" type:"string"` - // The description of the image pipeline. + // The description of the component. Describes the contents of the component. Description *string `locationName:"description" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the distribution configuration associated - // with this image pipeline. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` - - // Collects additional information about the image being created, including - // the operating system (OS) version and package list. This information is used - // to enhance the overall experience of using EC2 Image Builder. Enabled by - // default. - EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - - // The Amazon Resource Name (ARN) of the image recipe associated with this image - // pipeline. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - - // Contains settings for vulnerability scans. - ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + // The format of the resource that you want to import as a component. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"ComponentFormat"` - // The image tests configuration of the image pipeline. - ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + // The ID of the KMS key that should be used to encrypt this component. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the infrastructure configuration associated - // with this image pipeline. - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + // The name of the component. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // The name of the image pipeline. - Name *string `locationName:"name" type:"string"` + // The platform of the component. + // + // Platform is a required field + Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` - // The platform of the image pipeline. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The semantic version of the component. This version follows the semantic + // version syntax. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` - // The schedule of the image pipeline. - Schedule *Schedule `locationName:"schedule" type:"structure"` + // The tags of the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The status of the image pipeline. - Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` + // The type of the component denotes whether the component is used to build + // the image, or only to test it. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ComponentType"` - // The tags of this image pipeline. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The uri of the component. Must be an Amazon S3 URL and the requester must + // have permission to access the Amazon S3 bucket. If you use Amazon S3, you + // can specify component content up to your service quota. Either data or uri + // can be used to specify the data within the component. + Uri *string `locationName:"uri" type:"string"` } // String returns the string representation. @@ -15218,7 +17870,7 @@ type ImagePipeline struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImagePipeline) String() string { +func (s ImportComponentInput) String() string { return awsutil.Prettify(s) } @@ -15227,129 +17879,136 @@ func (s ImagePipeline) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImagePipeline) GoString() string { +func (s ImportComponentInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImagePipeline) SetArn(v string) *ImagePipeline { - s.Arn = &v - return s -} - -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *ImagePipeline) SetContainerRecipeArn(v string) *ImagePipeline { - s.ContainerRecipeArn = &v - return s -} - -// SetDateCreated sets the DateCreated field's value. -func (s *ImagePipeline) SetDateCreated(v string) *ImagePipeline { - s.DateCreated = &v - return s -} - -// SetDateLastRun sets the DateLastRun field's value. -func (s *ImagePipeline) SetDateLastRun(v string) *ImagePipeline { - s.DateLastRun = &v - return s -} - -// SetDateNextRun sets the DateNextRun field's value. -func (s *ImagePipeline) SetDateNextRun(v string) *ImagePipeline { - s.DateNextRun = &v - return s -} - -// SetDateUpdated sets the DateUpdated field's value. -func (s *ImagePipeline) SetDateUpdated(v string) *ImagePipeline { - s.DateUpdated = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportComponentInput"} + if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Data != nil && len(*s.Data) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Data", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } -// SetDescription sets the Description field's value. -func (s *ImagePipeline) SetDescription(v string) *ImagePipeline { - s.Description = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *ImagePipeline) SetDistributionConfigurationArn(v string) *ImagePipeline { - s.DistributionConfigurationArn = &v +// SetChangeDescription sets the ChangeDescription field's value. +func (s *ImportComponentInput) SetChangeDescription(v string) *ImportComponentInput { + s.ChangeDescription = &v return s } -// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. -func (s *ImagePipeline) SetEnhancedImageMetadataEnabled(v bool) *ImagePipeline { - s.EnhancedImageMetadataEnabled = &v +// SetClientToken sets the ClientToken field's value. +func (s *ImportComponentInput) SetClientToken(v string) *ImportComponentInput { + s.ClientToken = &v return s } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *ImagePipeline) SetImageRecipeArn(v string) *ImagePipeline { - s.ImageRecipeArn = &v +// SetData sets the Data field's value. +func (s *ImportComponentInput) SetData(v string) *ImportComponentInput { + s.Data = &v return s } -// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. -func (s *ImagePipeline) SetImageScanningConfiguration(v *ImageScanningConfiguration) *ImagePipeline { - s.ImageScanningConfiguration = v +// SetDescription sets the Description field's value. +func (s *ImportComponentInput) SetDescription(v string) *ImportComponentInput { + s.Description = &v return s } -// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. -func (s *ImagePipeline) SetImageTestsConfiguration(v *ImageTestsConfiguration) *ImagePipeline { - s.ImageTestsConfiguration = v +// SetFormat sets the Format field's value. +func (s *ImportComponentInput) SetFormat(v string) *ImportComponentInput { + s.Format = &v return s } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *ImagePipeline) SetInfrastructureConfigurationArn(v string) *ImagePipeline { - s.InfrastructureConfigurationArn = &v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ImportComponentInput) SetKmsKeyId(v string) *ImportComponentInput { + s.KmsKeyId = &v return s } // SetName sets the Name field's value. -func (s *ImagePipeline) SetName(v string) *ImagePipeline { +func (s *ImportComponentInput) SetName(v string) *ImportComponentInput { s.Name = &v return s } // SetPlatform sets the Platform field's value. -func (s *ImagePipeline) SetPlatform(v string) *ImagePipeline { +func (s *ImportComponentInput) SetPlatform(v string) *ImportComponentInput { s.Platform = &v return s } -// SetSchedule sets the Schedule field's value. -func (s *ImagePipeline) SetSchedule(v *Schedule) *ImagePipeline { - s.Schedule = v +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *ImportComponentInput) SetSemanticVersion(v string) *ImportComponentInput { + s.SemanticVersion = &v return s } -// SetStatus sets the Status field's value. -func (s *ImagePipeline) SetStatus(v string) *ImagePipeline { - s.Status = &v +// SetTags sets the Tags field's value. +func (s *ImportComponentInput) SetTags(v map[string]*string) *ImportComponentInput { + s.Tags = v return s } -// SetTags sets the Tags field's value. -func (s *ImagePipeline) SetTags(v map[string]*string) *ImagePipeline { - s.Tags = v +// SetType sets the Type field's value. +func (s *ImportComponentInput) SetType(v string) *ImportComponentInput { + s.Type = &v return s } -// Contains vulnerability counts for a specific image pipeline. -type ImagePipelineAggregation struct { +// SetUri sets the Uri field's value. +func (s *ImportComponentInput) SetUri(v string) *ImportComponentInput { + s.Uri = &v + return s +} + +type ImportComponentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that identifies the image pipeline for this - // aggregation. - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // Counts by severity level for medium severity and higher level findings, plus - // a total for all of the findings for the specified image pipeline. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // The Amazon Resource Name (ARN) of the imported component. + ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -15357,7 +18016,7 @@ type ImagePipelineAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImagePipelineAggregation) String() string { +func (s ImportComponentOutput) String() string { return awsutil.Prettify(s) } @@ -15366,73 +18025,80 @@ func (s ImagePipelineAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImagePipelineAggregation) GoString() string { +func (s ImportComponentOutput) GoString() string { return s.String() } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *ImagePipelineAggregation) SetImagePipelineArn(v string) *ImagePipelineAggregation { - s.ImagePipelineArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *ImportComponentOutput) SetClientToken(v string) *ImportComponentOutput { + s.ClientToken = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *ImagePipelineAggregation) SetSeverityCounts(v *SeverityCounts) *ImagePipelineAggregation { - s.SeverityCounts = v +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *ImportComponentOutput) SetComponentBuildVersionArn(v string) *ImportComponentOutput { + s.ComponentBuildVersionArn = &v return s } -// An image recipe. -type ImageRecipe struct { - _ struct{} `type:"structure"` - - // Before you create a new AMI, Image Builder launches temporary Amazon EC2 - // instances to build and test your image configuration. Instance configuration - // adds a layer of control over those instances. You can define settings and - // add scripts to run when an instance is launched from your AMI. - AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"` - - // The Amazon Resource Name (ARN) of the image recipe. - Arn *string `locationName:"arn" type:"string"` - - // The block device mappings to apply when creating images from this recipe. - BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` +// SetRequestId sets the RequestId field's value. +func (s *ImportComponentOutput) SetRequestId(v string) *ImportComponentOutput { + s.RequestId = &v + return s +} - // The components that are included in the image recipe. Recipes require a minimum - // of one build component, and can have a maximum of 20 build and test components - // in any combination. - Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"` +type ImportVmImageInput struct { + _ struct{} `type:"structure"` - // The date on which this image recipe was created. - DateCreated *string `locationName:"dateCreated" type:"string"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The description of the image recipe. + // The description for the base image that is created by the import process. Description *string `locationName:"description" min:"1" type:"string"` - // The name of the image recipe. - Name *string `locationName:"name" type:"string"` + // The name of the base image that is created by the import process. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The owner of the image recipe. - Owner *string `locationName:"owner" min:"1" type:"string"` + // The operating system version for the imported VM. + OsVersion *string `locationName:"osVersion" min:"1" type:"string"` - // The base image of the image recipe. - ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + // The operating system platform for the imported VM. + // + // Platform is a required field + Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` - // The platform of the image recipe. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The semantic version to attach to the base image that was created during + // the import process. This version follows the semantic version syntax. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Assignment: For the first three nodes you can assign any positive integer + // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each + // node. Image Builder automatically assigns the build number to the fourth + // node. + // + // Patterns: You can use any numeric pattern that adheres to the assignment + // requirements for the nodes that you can assign. For example, you might choose + // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` - // The tags of the image recipe. + // Tags that are attached to the import resources. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // Specifies which type of image is created by the recipe - an AMI or a container - // image. - Type *string `locationName:"type" type:"string" enum:"ImageType"` - - // The version of the image recipe. - Version *string `locationName:"version" type:"string"` - - // The working directory to be used during build and test workflows. - WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` + // The importTaskId (API) or ImportTaskId (CLI) from the Amazon EC2 VM import + // process. Image Builder retrieves information from the import process to pull + // in the AMI that is created from the VM source as the base image for your + // recipe. + // + // VmImportTaskId is a required field + VmImportTaskId *string `locationName:"vmImportTaskId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -15440,7 +18106,7 @@ type ImageRecipe struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageRecipe) String() string { +func (s ImportVmImageInput) String() string { return awsutil.Prettify(s) } @@ -15449,118 +18115,111 @@ func (s ImageRecipe) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageRecipe) GoString() string { +func (s ImportVmImageInput) GoString() string { return s.String() } -// SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value. -func (s *ImageRecipe) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *ImageRecipe { - s.AdditionalInstanceConfiguration = v - return s -} - -// SetArn sets the Arn field's value. -func (s *ImageRecipe) SetArn(v string) *ImageRecipe { - s.Arn = &v - return s -} - -// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. -func (s *ImageRecipe) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *ImageRecipe { - s.BlockDeviceMappings = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportVmImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportVmImageInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OsVersion != nil && len(*s.OsVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OsVersion", 1)) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.VmImportTaskId == nil { + invalidParams.Add(request.NewErrParamRequired("VmImportTaskId")) + } + if s.VmImportTaskId != nil && len(*s.VmImportTaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VmImportTaskId", 1)) + } -// SetComponents sets the Components field's value. -func (s *ImageRecipe) SetComponents(v []*ComponentConfiguration) *ImageRecipe { - s.Components = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateCreated sets the DateCreated field's value. -func (s *ImageRecipe) SetDateCreated(v string) *ImageRecipe { - s.DateCreated = &v +// SetClientToken sets the ClientToken field's value. +func (s *ImportVmImageInput) SetClientToken(v string) *ImportVmImageInput { + s.ClientToken = &v return s } // SetDescription sets the Description field's value. -func (s *ImageRecipe) SetDescription(v string) *ImageRecipe { +func (s *ImportVmImageInput) SetDescription(v string) *ImportVmImageInput { s.Description = &v return s } // SetName sets the Name field's value. -func (s *ImageRecipe) SetName(v string) *ImageRecipe { +func (s *ImportVmImageInput) SetName(v string) *ImportVmImageInput { s.Name = &v return s } -// SetOwner sets the Owner field's value. -func (s *ImageRecipe) SetOwner(v string) *ImageRecipe { - s.Owner = &v - return s -} - -// SetParentImage sets the ParentImage field's value. -func (s *ImageRecipe) SetParentImage(v string) *ImageRecipe { - s.ParentImage = &v +// SetOsVersion sets the OsVersion field's value. +func (s *ImportVmImageInput) SetOsVersion(v string) *ImportVmImageInput { + s.OsVersion = &v return s } // SetPlatform sets the Platform field's value. -func (s *ImageRecipe) SetPlatform(v string) *ImageRecipe { +func (s *ImportVmImageInput) SetPlatform(v string) *ImportVmImageInput { s.Platform = &v return s } -// SetTags sets the Tags field's value. -func (s *ImageRecipe) SetTags(v map[string]*string) *ImageRecipe { - s.Tags = v - return s -} - -// SetType sets the Type field's value. -func (s *ImageRecipe) SetType(v string) *ImageRecipe { - s.Type = &v +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *ImportVmImageInput) SetSemanticVersion(v string) *ImportVmImageInput { + s.SemanticVersion = &v return s } -// SetVersion sets the Version field's value. -func (s *ImageRecipe) SetVersion(v string) *ImageRecipe { - s.Version = &v +// SetTags sets the Tags field's value. +func (s *ImportVmImageInput) SetTags(v map[string]*string) *ImportVmImageInput { + s.Tags = v return s } -// SetWorkingDirectory sets the WorkingDirectory field's value. -func (s *ImageRecipe) SetWorkingDirectory(v string) *ImageRecipe { - s.WorkingDirectory = &v +// SetVmImportTaskId sets the VmImportTaskId field's value. +func (s *ImportVmImageInput) SetVmImportTaskId(v string) *ImportVmImageInput { + s.VmImportTaskId = &v return s } -// A summary of an image recipe. -type ImageRecipeSummary struct { +type ImportVmImageOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image recipe. - Arn *string `locationName:"arn" type:"string"` - - // The date on which this image recipe was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The name of the image recipe. - Name *string `locationName:"name" type:"string"` - - // The owner of the image recipe. - Owner *string `locationName:"owner" min:"1" type:"string"` - - // The base image of the image recipe. - ParentImage *string `locationName:"parentImage" min:"1" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The platform of the image recipe. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The Amazon Resource Name (ARN) of the AMI that was created during the VM + // import process. This AMI is used as the base image for the recipe that imported + // the VM. + ImageArn *string `locationName:"imageArn" type:"string"` - // The tags of the image recipe. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -15568,7 +18227,7 @@ type ImageRecipeSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageRecipeSummary) String() string { +func (s ImportVmImageOutput) String() string { return awsutil.Prettify(s) } @@ -15577,101 +18236,85 @@ func (s ImageRecipeSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageRecipeSummary) GoString() string { +func (s ImportVmImageOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImageRecipeSummary) SetArn(v string) *ImageRecipeSummary { - s.Arn = &v - return s -} - -// SetDateCreated sets the DateCreated field's value. -func (s *ImageRecipeSummary) SetDateCreated(v string) *ImageRecipeSummary { - s.DateCreated = &v - return s -} - -// SetName sets the Name field's value. -func (s *ImageRecipeSummary) SetName(v string) *ImageRecipeSummary { - s.Name = &v +// SetClientToken sets the ClientToken field's value. +func (s *ImportVmImageOutput) SetClientToken(v string) *ImportVmImageOutput { + s.ClientToken = &v return s } -// SetOwner sets the Owner field's value. -func (s *ImageRecipeSummary) SetOwner(v string) *ImageRecipeSummary { - s.Owner = &v +// SetImageArn sets the ImageArn field's value. +func (s *ImportVmImageOutput) SetImageArn(v string) *ImportVmImageOutput { + s.ImageArn = &v return s } -// SetParentImage sets the ParentImage field's value. -func (s *ImageRecipeSummary) SetParentImage(v string) *ImageRecipeSummary { - s.ParentImage = &v +// SetRequestId sets the RequestId field's value. +func (s *ImportVmImageOutput) SetRequestId(v string) *ImportVmImageOutput { + s.RequestId = &v return s } -// SetPlatform sets the Platform field's value. -func (s *ImageRecipeSummary) SetPlatform(v string) *ImageRecipeSummary { - s.Platform = &v - return s -} +// Details of the infrastructure configuration. +type InfrastructureConfiguration struct { + _ struct{} `type:"structure"` -// SetTags sets the Tags field's value. -func (s *ImageRecipeSummary) SetTags(v map[string]*string) *ImageRecipeSummary { - s.Tags = v - return s -} + // The Amazon Resource Name (ARN) of the infrastructure configuration. + Arn *string `locationName:"arn" type:"string"` -// Contains details about a vulnerability scan finding. -type ImageScanFinding struct { - _ struct{} `type:"structure"` + // The date on which the infrastructure configuration was created. + DateCreated *string `locationName:"dateCreated" type:"string"` - // The Amazon Web Services account ID that's associated with the finding. - AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + // The date on which the infrastructure configuration was last updated. + DateUpdated *string `locationName:"dateUpdated" type:"string"` - // The description of the finding. + // The description of the infrastructure configuration. Description *string `locationName:"description" min:"1" type:"string"` - // The date and time when the finding was first observed. - FirstObservedAt *time.Time `locationName:"firstObservedAt" type:"timestamp"` + // The instance metadata option settings for the infrastructure configuration. + InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` - // Details about whether a fix is available for any of the packages that are - // identified in the finding through a version update. - FixAvailable *string `locationName:"fixAvailable" min:"1" type:"string"` + // The instance profile of the infrastructure configuration. + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the image build version that's associated - // with the finding. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The instance types of the infrastructure configuration. + InstanceTypes []*string `locationName:"instanceTypes" type:"list"` - // The Amazon Resource Name (ARN) of the image pipeline that's associated with - // the finding. - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + // The Amazon EC2 key pair of the infrastructure configuration. + KeyPair *string `locationName:"keyPair" min:"1" type:"string"` - // The score that Amazon Inspector assigned for the finding. - InspectorScore *float64 `locationName:"inspectorScore" type:"double"` + // The logging configuration of the infrastructure configuration. + Logging *Logging `locationName:"logging" type:"structure"` - // An object that contains details of the Amazon Inspector score. - InspectorScoreDetails *InspectorScoreDetails `locationName:"inspectorScoreDetails" type:"structure"` + // The name of the infrastructure configuration. + Name *string `locationName:"name" type:"string"` - // An object that contains the details of a package vulnerability finding. - PackageVulnerabilityDetails *PackageVulnerabilityDetails `locationName:"packageVulnerabilityDetails" type:"structure"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` - // An object that contains the details about how to remediate the finding. - Remediation *Remediation `locationName:"remediation" type:"structure"` + // The security group IDs of the infrastructure configuration. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - // The severity of the finding. - Severity *string `locationName:"severity" min:"1" type:"string"` + // The Amazon Resource Name (ARN) for the SNS topic to which we send image build + // event notifications. + // + // EC2 Image Builder is unable to send notifications to SNS topics that are + // encrypted using keys from other accounts. The key that is used to encrypt + // the SNS topic must reside in the account that the Image Builder service runs + // under. + SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"` - // The title of the finding. - Title *string `locationName:"title" min:"1" type:"string"` + // The subnet ID of the infrastructure configuration. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` - // The type of the finding. Image Builder looks for findings of the type PACKAGE_VULNERABILITY - // that apply to output images, and excludes other types. - Type *string `locationName:"type" min:"1" type:"string"` + // The tags of the infrastructure configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The timestamp when the finding was last updated. - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` + // The terminate instance on failure configuration of the infrastructure configuration. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` } // String returns the string representation. @@ -15679,7 +18322,7 @@ type ImageScanFinding struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanFinding) String() string { +func (s InfrastructureConfiguration) String() string { return awsutil.Prettify(s) } @@ -15688,112 +18331,136 @@ func (s ImageScanFinding) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanFinding) GoString() string { +func (s InfrastructureConfiguration) GoString() string { return s.String() } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ImageScanFinding) SetAwsAccountId(v string) *ImageScanFinding { - s.AwsAccountId = &v +// SetArn sets the Arn field's value. +func (s *InfrastructureConfiguration) SetArn(v string) *InfrastructureConfiguration { + s.Arn = &v return s } -// SetDescription sets the Description field's value. -func (s *ImageScanFinding) SetDescription(v string) *ImageScanFinding { - s.Description = &v +// SetDateCreated sets the DateCreated field's value. +func (s *InfrastructureConfiguration) SetDateCreated(v string) *InfrastructureConfiguration { + s.DateCreated = &v return s } -// SetFirstObservedAt sets the FirstObservedAt field's value. -func (s *ImageScanFinding) SetFirstObservedAt(v time.Time) *ImageScanFinding { - s.FirstObservedAt = &v +// SetDateUpdated sets the DateUpdated field's value. +func (s *InfrastructureConfiguration) SetDateUpdated(v string) *InfrastructureConfiguration { + s.DateUpdated = &v return s } -// SetFixAvailable sets the FixAvailable field's value. -func (s *ImageScanFinding) SetFixAvailable(v string) *ImageScanFinding { - s.FixAvailable = &v +// SetDescription sets the Description field's value. +func (s *InfrastructureConfiguration) SetDescription(v string) *InfrastructureConfiguration { + s.Description = &v return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ImageScanFinding) SetImageBuildVersionArn(v string) *ImageScanFinding { - s.ImageBuildVersionArn = &v +// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. +func (s *InfrastructureConfiguration) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *InfrastructureConfiguration { + s.InstanceMetadataOptions = v return s } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *ImageScanFinding) SetImagePipelineArn(v string) *ImageScanFinding { - s.ImagePipelineArn = &v +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *InfrastructureConfiguration) SetInstanceProfileName(v string) *InfrastructureConfiguration { + s.InstanceProfileName = &v return s } -// SetInspectorScore sets the InspectorScore field's value. -func (s *ImageScanFinding) SetInspectorScore(v float64) *ImageScanFinding { - s.InspectorScore = &v +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *InfrastructureConfiguration) SetInstanceTypes(v []*string) *InfrastructureConfiguration { + s.InstanceTypes = v + return s +} + +// SetKeyPair sets the KeyPair field's value. +func (s *InfrastructureConfiguration) SetKeyPair(v string) *InfrastructureConfiguration { + s.KeyPair = &v + return s +} + +// SetLogging sets the Logging field's value. +func (s *InfrastructureConfiguration) SetLogging(v *Logging) *InfrastructureConfiguration { + s.Logging = v return s } -// SetInspectorScoreDetails sets the InspectorScoreDetails field's value. -func (s *ImageScanFinding) SetInspectorScoreDetails(v *InspectorScoreDetails) *ImageScanFinding { - s.InspectorScoreDetails = v +// SetName sets the Name field's value. +func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfiguration { + s.Name = &v return s } -// SetPackageVulnerabilityDetails sets the PackageVulnerabilityDetails field's value. -func (s *ImageScanFinding) SetPackageVulnerabilityDetails(v *PackageVulnerabilityDetails) *ImageScanFinding { - s.PackageVulnerabilityDetails = v +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfiguration) SetResourceTags(v map[string]*string) *InfrastructureConfiguration { + s.ResourceTags = v return s } -// SetRemediation sets the Remediation field's value. -func (s *ImageScanFinding) SetRemediation(v *Remediation) *ImageScanFinding { - s.Remediation = v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration { + s.SecurityGroupIds = v return s } -// SetSeverity sets the Severity field's value. -func (s *ImageScanFinding) SetSeverity(v string) *ImageScanFinding { - s.Severity = &v +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *InfrastructureConfiguration) SetSnsTopicArn(v string) *InfrastructureConfiguration { + s.SnsTopicArn = &v return s } -// SetTitle sets the Title field's value. -func (s *ImageScanFinding) SetTitle(v string) *ImageScanFinding { - s.Title = &v +// SetSubnetId sets the SubnetId field's value. +func (s *InfrastructureConfiguration) SetSubnetId(v string) *InfrastructureConfiguration { + s.SubnetId = &v return s } -// SetType sets the Type field's value. -func (s *ImageScanFinding) SetType(v string) *ImageScanFinding { - s.Type = &v +// SetTags sets the Tags field's value. +func (s *InfrastructureConfiguration) SetTags(v map[string]*string) *InfrastructureConfiguration { + s.Tags = v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *ImageScanFinding) SetUpdatedAt(v time.Time) *ImageScanFinding { - s.UpdatedAt = &v +// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. +func (s *InfrastructureConfiguration) SetTerminateInstanceOnFailure(v bool) *InfrastructureConfiguration { + s.TerminateInstanceOnFailure = &v return s } -// This returns exactly one type of aggregation, based on the filter that Image -// Builder applies in its API action. -type ImageScanFindingAggregation struct { +// The infrastructure used when building Amazon EC2 AMIs. +type InfrastructureConfigurationSummary struct { _ struct{} `type:"structure"` - // Returns an object that contains severity counts based on an account ID. - AccountAggregation *AccountAggregation `locationName:"accountAggregation" type:"structure"` + // The Amazon Resource Name (ARN) of the infrastructure configuration. + Arn *string `locationName:"arn" type:"string"` - // Returns an object that contains severity counts based on the Amazon Resource - // Name (ARN) for a specific image. - ImageAggregation *ImageAggregation `locationName:"imageAggregation" type:"structure"` + // The date on which the infrastructure configuration was created. + DateCreated *string `locationName:"dateCreated" type:"string"` - // Returns an object that contains severity counts based on an image pipeline - // ARN. - ImagePipelineAggregation *ImagePipelineAggregation `locationName:"imagePipelineAggregation" type:"structure"` + // The date on which the infrastructure configuration was last updated. + DateUpdated *string `locationName:"dateUpdated" type:"string"` - // Returns an object that contains severity counts based on vulnerability ID. - VulnerabilityIdAggregation *VulnerabilityIdAggregation `locationName:"vulnerabilityIdAggregation" type:"structure"` + // The description of the infrastructure configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The instance profile of the infrastructure configuration. + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` + + // The instance types of the infrastructure configuration. + InstanceTypes []*string `locationName:"instanceTypes" type:"list"` + + // The name of the infrastructure configuration. + Name *string `locationName:"name" type:"string"` + + // The tags attached to the image created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + + // The tags of the infrastructure configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -15801,7 +18468,7 @@ type ImageScanFindingAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanFindingAggregation) String() string { +func (s InfrastructureConfigurationSummary) String() string { return awsutil.Prettify(s) } @@ -15810,99 +18477,72 @@ func (s ImageScanFindingAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanFindingAggregation) GoString() string { +func (s InfrastructureConfigurationSummary) GoString() string { return s.String() } -// SetAccountAggregation sets the AccountAggregation field's value. -func (s *ImageScanFindingAggregation) SetAccountAggregation(v *AccountAggregation) *ImageScanFindingAggregation { - s.AccountAggregation = v +// SetArn sets the Arn field's value. +func (s *InfrastructureConfigurationSummary) SetArn(v string) *InfrastructureConfigurationSummary { + s.Arn = &v return s } -// SetImageAggregation sets the ImageAggregation field's value. -func (s *ImageScanFindingAggregation) SetImageAggregation(v *ImageAggregation) *ImageScanFindingAggregation { - s.ImageAggregation = v +// SetDateCreated sets the DateCreated field's value. +func (s *InfrastructureConfigurationSummary) SetDateCreated(v string) *InfrastructureConfigurationSummary { + s.DateCreated = &v return s } -// SetImagePipelineAggregation sets the ImagePipelineAggregation field's value. -func (s *ImageScanFindingAggregation) SetImagePipelineAggregation(v *ImagePipelineAggregation) *ImageScanFindingAggregation { - s.ImagePipelineAggregation = v +// SetDateUpdated sets the DateUpdated field's value. +func (s *InfrastructureConfigurationSummary) SetDateUpdated(v string) *InfrastructureConfigurationSummary { + s.DateUpdated = &v return s } -// SetVulnerabilityIdAggregation sets the VulnerabilityIdAggregation field's value. -func (s *ImageScanFindingAggregation) SetVulnerabilityIdAggregation(v *VulnerabilityIdAggregation) *ImageScanFindingAggregation { - s.VulnerabilityIdAggregation = v +// SetDescription sets the Description field's value. +func (s *InfrastructureConfigurationSummary) SetDescription(v string) *InfrastructureConfigurationSummary { + s.Description = &v return s } -// A name value pair that Image Builder applies to streamline results from the -// vulnerability scan findings list action. -type ImageScanFindingsFilter struct { - _ struct{} `type:"structure"` - - // The name of the image scan finding filter. Filter names are case-sensitive. - Name *string `locationName:"name" type:"string"` - - // The filter values. Filter values are case-sensitive. - Values []*string `locationName:"values" min:"1" 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 ImageScanFindingsFilter) 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 ImageScanFindingsFilter) GoString() string { - return s.String() +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *InfrastructureConfigurationSummary) SetInstanceProfileName(v string) *InfrastructureConfigurationSummary { + s.InstanceProfileName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImageScanFindingsFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImageScanFindingsFilter"} - if s.Values != nil && len(s.Values) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Values", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *InfrastructureConfigurationSummary) SetInstanceTypes(v []*string) *InfrastructureConfigurationSummary { + s.InstanceTypes = v + return s } // SetName sets the Name field's value. -func (s *ImageScanFindingsFilter) SetName(v string) *ImageScanFindingsFilter { +func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureConfigurationSummary { s.Name = &v return s } -// SetValues sets the Values field's value. -func (s *ImageScanFindingsFilter) SetValues(v []*string) *ImageScanFindingsFilter { - s.Values = v +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfigurationSummary) SetResourceTags(v map[string]*string) *InfrastructureConfigurationSummary { + s.ResourceTags = v return s } -// Shows the vulnerability scan status for a specific image, and the reason -// for that status. -type ImageScanState struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary { + s.Tags = v + return s +} - // The reason for the scan status for the image. - Reason *string `locationName:"reason" min:"1" type:"string"` +// Information about the factors that influenced the score that Amazon Inspector +// assigned for a finding. +type InspectorScoreDetails struct { + _ struct{} `type:"structure"` - // The current state of vulnerability scans for the image. - Status *string `locationName:"status" type:"string" enum:"ImageScanStatus"` + // An object that contains details about an adjustment that Amazon Inspector + // made to the CVSS score for the finding. + AdjustedCvss *CvssScoreDetails `locationName:"adjustedCvss" type:"structure"` } // String returns the string representation. @@ -15910,7 +18550,7 @@ type ImageScanState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanState) String() string { +func (s InspectorScoreDetails) String() string { return awsutil.Prettify(s) } @@ -15919,33 +18559,31 @@ func (s ImageScanState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanState) GoString() string { +func (s InspectorScoreDetails) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *ImageScanState) SetReason(v string) *ImageScanState { - s.Reason = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ImageScanState) SetStatus(v string) *ImageScanState { - s.Status = &v +// SetAdjustedCvss sets the AdjustedCvss field's value. +func (s *InspectorScoreDetails) SetAdjustedCvss(v *CvssScoreDetails) *InspectorScoreDetails { + s.AdjustedCvss = v return s } -// Contains settings for Image Builder image resource and container image scans. -type ImageScanningConfiguration struct { +// Defines block device mappings for the instance used to configure your image. +type InstanceBlockDeviceMapping struct { _ struct{} `type:"structure"` - // Contains Amazon ECR settings for vulnerability scans. - EcrConfiguration *EcrConfiguration `locationName:"ecrConfiguration" type:"structure"` + // The device to which these mappings apply. + DeviceName *string `locationName:"deviceName" min:"1" type:"string"` - // A setting that indicates whether Image Builder keeps a snapshot of the vulnerability - // scans that Amazon Inspector runs against the build instance when you create - // a new image. - ImageScanningEnabled *bool `locationName:"imageScanningEnabled" type:"boolean"` + // Use to manage Amazon EBS-specific configuration for this mapping. + Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"` + + // Use to remove a mapping from the base image. + NoDevice *string `locationName:"noDevice" type:"string"` + + // Use to manage instance ephemeral devices. + VirtualName *string `locationName:"virtualName" min:"1" type:"string"` } // String returns the string representation. @@ -15953,7 +18591,7 @@ type ImageScanningConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanningConfiguration) String() string { +func (s InstanceBlockDeviceMapping) String() string { return awsutil.Prettify(s) } @@ -15962,16 +18600,22 @@ func (s ImageScanningConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageScanningConfiguration) GoString() string { +func (s InstanceBlockDeviceMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImageScanningConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImageScanningConfiguration"} - if s.EcrConfiguration != nil { - if err := s.EcrConfiguration.Validate(); err != nil { - invalidParams.AddNested("EcrConfiguration", err.(request.ErrInvalidParams)) +func (s *InstanceBlockDeviceMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceBlockDeviceMapping"} + if s.DeviceName != nil && len(*s.DeviceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1)) + } + if s.VirtualName != nil && len(*s.VirtualName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualName", 1)) + } + if s.Ebs != nil { + if err := s.Ebs.Validate(); err != nil { + invalidParams.AddNested("Ebs", err.(request.ErrInvalidParams)) } } @@ -15981,27 +18625,43 @@ func (s *ImageScanningConfiguration) Validate() error { return nil } -// SetEcrConfiguration sets the EcrConfiguration field's value. -func (s *ImageScanningConfiguration) SetEcrConfiguration(v *EcrConfiguration) *ImageScanningConfiguration { - s.EcrConfiguration = v +// SetDeviceName sets the DeviceName field's value. +func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping { + s.DeviceName = &v + return s +} + +// SetEbs sets the Ebs field's value. +func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMapping { + s.Ebs = v + return s +} + +// SetNoDevice sets the NoDevice field's value. +func (s *InstanceBlockDeviceMapping) SetNoDevice(v string) *InstanceBlockDeviceMapping { + s.NoDevice = &v return s } -// SetImageScanningEnabled sets the ImageScanningEnabled field's value. -func (s *ImageScanningConfiguration) SetImageScanningEnabled(v bool) *ImageScanningConfiguration { - s.ImageScanningEnabled = &v +// SetVirtualName sets the VirtualName field's value. +func (s *InstanceBlockDeviceMapping) SetVirtualName(v string) *InstanceBlockDeviceMapping { + s.VirtualName = &v return s } -// Image status and the reason for that status. -type ImageState struct { +// Defines a custom base AMI and block device mapping configurations of an instance +// used for building and testing container images. +type InstanceConfiguration struct { _ struct{} `type:"structure"` - // The reason for the status of the image. - Reason *string `locationName:"reason" min:"1" type:"string"` + // Defines the block devices to attach for building an instance from this Image + // Builder AMI. + BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` - // The status of the image. - Status *string `locationName:"status" type:"string" enum:"ImageStatus"` + // The AMI ID to use as the base image for a container build and test instance. + // If not specified, Image Builder will use the appropriate ECS-optimized AMI + // as a base image. + Image *string `locationName:"image" min:"1" type:"string"` } // String returns the string representation. @@ -16009,7 +18669,7 @@ type ImageState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageState) String() string { +func (s InstanceConfiguration) String() string { return awsutil.Prettify(s) } @@ -16018,82 +18678,72 @@ func (s ImageState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageState) GoString() string { +func (s InstanceConfiguration) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *ImageState) SetReason(v string) *ImageState { - s.Reason = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceConfiguration"} + if s.Image != nil && len(*s.Image) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Image", 1)) + } + if s.BlockDeviceMappings != nil { + for i, v := range s.BlockDeviceMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. +func (s *InstanceConfiguration) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *InstanceConfiguration { + s.BlockDeviceMappings = v return s } -// SetStatus sets the Status field's value. -func (s *ImageState) SetStatus(v string) *ImageState { - s.Status = &v +// SetImage sets the Image field's value. +func (s *InstanceConfiguration) SetImage(v string) *InstanceConfiguration { + s.Image = &v return s } -// An image summary. -type ImageSummary struct { +// The instance metadata options that apply to the HTTP requests that pipeline +// builds use to launch EC2 build and test instances. For more information about +// instance metadata options, see Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) +// in the Amazon EC2 User Guide for Linux instances, or Configure the instance +// metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html) +// in the Amazon EC2 Windows Guide for Windows instances. +type InstanceMetadataOptions struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image. - Arn *string `locationName:"arn" type:"string"` + // Limit the number of hops that an instance metadata request can traverse to + // reach its destination. The default is one hop. However, if HTTP tokens are + // required, container image builds need a minimum of two hops. + HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" min:"1" type:"integer"` - // Indicates the type of build that created this image. The build can be initiated - // in the following ways: + // Indicates whether a signed token header is required for instance metadata + // retrieval requests. The values affect the response as follows: // - // * USER_INITIATED – A manual pipeline build request. + // * required – When you retrieve the IAM role credentials, version 2.0 + // credentials are returned in all cases. // - // * SCHEDULED – A pipeline build initiated by a cron expression in the - // Image Builder pipeline, or from EventBridge. + // * optional – You can include a signed token header in your request to + // retrieve instance metadata, or you can leave it out. If you include it, + // version 2.0 credentials are returned for the IAM role. Otherwise, version + // 1.0 credentials are returned. // - // * IMPORT – A VM import created the image to use as the base image for - // the recipe. - BuildType *string `locationName:"buildType" type:"string" enum:"BuildType"` - - // The date on which Image Builder created this image. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The time when deprecation occurs for an image resource. This can be a past - // or future date. - DeprecationTime *time.Time `locationName:"deprecationTime" type:"timestamp"` - - // The origin of the base image that Image Builder used to build this image. - ImageSource *string `locationName:"imageSource" type:"string" enum:"ImageSource"` - - // Identifies the last runtime instance of the lifecycle policy to take action - // on the image. - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - - // The name of the image. - Name *string `locationName:"name" type:"string"` - - // The operating system version of the instances that launch from this image. - // For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. - OsVersion *string `locationName:"osVersion" min:"1" type:"string"` - - // The output resources that Image Builder produced when it created this image. - OutputResources *OutputResources `locationName:"outputResources" type:"structure"` - - // The owner of the image. - Owner *string `locationName:"owner" min:"1" type:"string"` - - // The image operating system platform, such as Linux or Windows. - Platform *string `locationName:"platform" type:"string" enum:"Platform"` - - // The state of the image. - State *ImageState `locationName:"state" type:"structure"` - - // The tags that apply to this image. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - - // Specifies whether this image produces an AMI or a container image. - Type *string `locationName:"type" type:"string" enum:"ImageType"` - - // The version of the image. - Version *string `locationName:"version" type:"string"` + // The default setting is optional. + HttpTokens *string `locationName:"httpTokens" type:"string"` } // String returns the string representation. @@ -16101,7 +18751,7 @@ type ImageSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageSummary) String() string { +func (s InstanceMetadataOptions) String() string { return awsutil.Prettify(s) } @@ -16110,114 +18760,41 @@ func (s ImageSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageSummary) GoString() string { +func (s InstanceMetadataOptions) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImageSummary) SetArn(v string) *ImageSummary { - s.Arn = &v - return s -} - -// SetBuildType sets the BuildType field's value. -func (s *ImageSummary) SetBuildType(v string) *ImageSummary { - s.BuildType = &v - return s -} - -// SetDateCreated sets the DateCreated field's value. -func (s *ImageSummary) SetDateCreated(v string) *ImageSummary { - s.DateCreated = &v - return s -} - -// SetDeprecationTime sets the DeprecationTime field's value. -func (s *ImageSummary) SetDeprecationTime(v time.Time) *ImageSummary { - s.DeprecationTime = &v - return s -} - -// SetImageSource sets the ImageSource field's value. -func (s *ImageSummary) SetImageSource(v string) *ImageSummary { - s.ImageSource = &v - return s -} - -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *ImageSummary) SetLifecycleExecutionId(v string) *ImageSummary { - s.LifecycleExecutionId = &v - return s -} - -// SetName sets the Name field's value. -func (s *ImageSummary) SetName(v string) *ImageSummary { - s.Name = &v - return s -} - -// SetOsVersion sets the OsVersion field's value. -func (s *ImageSummary) SetOsVersion(v string) *ImageSummary { - s.OsVersion = &v - return s -} - -// SetOutputResources sets the OutputResources field's value. -func (s *ImageSummary) SetOutputResources(v *OutputResources) *ImageSummary { - s.OutputResources = v - return s -} - -// SetOwner sets the Owner field's value. -func (s *ImageSummary) SetOwner(v string) *ImageSummary { - s.Owner = &v - return s -} - -// SetPlatform sets the Platform field's value. -func (s *ImageSummary) SetPlatform(v string) *ImageSummary { - s.Platform = &v - return s -} - -// SetState sets the State field's value. -func (s *ImageSummary) SetState(v *ImageState) *ImageSummary { - s.State = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceMetadataOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"} + if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 { + invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1)) + } -// SetTags sets the Tags field's value. -func (s *ImageSummary) SetTags(v map[string]*string) *ImageSummary { - s.Tags = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetType sets the Type field's value. -func (s *ImageSummary) SetType(v string) *ImageSummary { - s.Type = &v +// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value. +func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions { + s.HttpPutResponseHopLimit = &v return s } -// SetVersion sets the Version field's value. -func (s *ImageSummary) SetVersion(v string) *ImageSummary { - s.Version = &v +// SetHttpTokens sets the HttpTokens field's value. +func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions { + s.HttpTokens = &v return s } -// Configure image tests for your pipeline build. Tests run after building the -// image, to verify that the AMI or container image is valid before distributing -// it. -type ImageTestsConfiguration struct { - _ struct{} `type:"structure"` - - // Determines if tests should run after building the image. Image Builder defaults - // to enable tests to run following the image build, before image distribution. - ImageTestsEnabled *bool `locationName:"imageTestsEnabled" type:"boolean"` +// You have provided an invalid pagination token in your request. +type InvalidPaginationTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The maximum time in minutes that tests are permitted to run. - // - // The timeoutMinutes attribute is not currently active. This value is ignored. - TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"60" type:"integer"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -16225,7 +18802,7 @@ type ImageTestsConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageTestsConfiguration) String() string { +func (s InvalidPaginationTokenException) String() string { return awsutil.Prettify(s) } @@ -16234,110 +18811,55 @@ func (s ImageTestsConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageTestsConfiguration) GoString() string { +func (s InvalidPaginationTokenException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImageTestsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImageTestsConfiguration"} - if s.TimeoutMinutes != nil && *s.TimeoutMinutes < 60 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutMinutes", 60)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { + return &InvalidPaginationTokenException{ + RespMetadata: v, } - return nil } -// SetImageTestsEnabled sets the ImageTestsEnabled field's value. -func (s *ImageTestsConfiguration) SetImageTestsEnabled(v bool) *ImageTestsConfiguration { - s.ImageTestsEnabled = &v - return s +// Code returns the exception type name. +func (s *InvalidPaginationTokenException) Code() string { + return "InvalidPaginationTokenException" } -// SetTimeoutMinutes sets the TimeoutMinutes field's value. -func (s *ImageTestsConfiguration) SetTimeoutMinutes(v int64) *ImageTestsConfiguration { - s.TimeoutMinutes = &v - return s +// Message returns the exception's message. +func (s *InvalidPaginationTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// The defining characteristics of a specific version of an Image Builder image. -type ImageVersion struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of a specific version of an Image Builder - // image. - // - // Semantic versioning is included in each object's Amazon Resource Name (ARN), - // at the level that applies to that object as follows: - // - // Versionless ARNs and Name ARNs do not include specific values in any of the - // nodes. The nodes are either left off entirely, or they are specified as wildcards, - // for example: x.x.x. - // - // Version ARNs have only the first three nodes: .. - // - // Build version ARNs have all four nodes, and point to a specific build for - // a specific version of an object. - Arn *string `locationName:"arn" type:"string"` - - // Indicates the type of build that created this image. The build can be initiated - // in the following ways: - // - // * USER_INITIATED – A manual pipeline build request. - // - // * SCHEDULED – A pipeline build initiated by a cron expression in the - // Image Builder pipeline, or from EventBridge. - // - // * IMPORT – A VM import created the image to use as the base image for - // the recipe. - BuildType *string `locationName:"buildType" type:"string" enum:"BuildType"` - - // The date on which this specific version of the Image Builder image was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The origin of the base image that Image Builder used to build this image. - ImageSource *string `locationName:"imageSource" type:"string" enum:"ImageSource"` - - // The name of this specific version of an Image Builder image. - Name *string `locationName:"name" type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidPaginationTokenException) OrigErr() error { + return nil +} - // The operating system version of the Amazon EC2 build instance. For example, - // Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019. - OsVersion *string `locationName:"osVersion" min:"1" type:"string"` +func (s *InvalidPaginationTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The owner of the image version. - Owner *string `locationName:"owner" min:"1" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidPaginationTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The operating system platform of the image version, for example "Windows" - // or "Linux". - Platform *string `locationName:"platform" type:"string" enum:"Platform"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidPaginationTokenException) RequestID() string { + return s.RespMetadata.RequestID +} - // Specifies whether this image produces an AMI or a container image. - Type *string `locationName:"type" type:"string" enum:"ImageType"` +// You have specified two or more mutually exclusive parameters. Review the +// error message for details. +type InvalidParameterCombinationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Details for a specific version of an Image Builder image. This version follows - // the semantic version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. - Version *string `locationName:"version" type:"string"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -16345,7 +18867,7 @@ type ImageVersion struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageVersion) String() string { +func (s InvalidParameterCombinationException) String() string { return awsutil.Prettify(s) } @@ -16354,136 +18876,119 @@ func (s ImageVersion) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageVersion) GoString() string { +func (s InvalidParameterCombinationException) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImageVersion) SetArn(v string) *ImageVersion { - s.Arn = &v - return s +func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error { + return &InvalidParameterCombinationException{ + RespMetadata: v, + } } -// SetBuildType sets the BuildType field's value. -func (s *ImageVersion) SetBuildType(v string) *ImageVersion { - s.BuildType = &v - return s +// Code returns the exception type name. +func (s *InvalidParameterCombinationException) Code() string { + return "InvalidParameterCombinationException" } -// SetDateCreated sets the DateCreated field's value. -func (s *ImageVersion) SetDateCreated(v string) *ImageVersion { - s.DateCreated = &v - return s +// Message returns the exception's message. +func (s *InvalidParameterCombinationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetImageSource sets the ImageSource field's value. -func (s *ImageVersion) SetImageSource(v string) *ImageVersion { - s.ImageSource = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterCombinationException) OrigErr() error { + return nil } -// SetName sets the Name field's value. -func (s *ImageVersion) SetName(v string) *ImageVersion { - s.Name = &v - return s +func (s *InvalidParameterCombinationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetOsVersion sets the OsVersion field's value. -func (s *ImageVersion) SetOsVersion(v string) *ImageVersion { - s.OsVersion = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterCombinationException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetOwner sets the Owner field's value. -func (s *ImageVersion) SetOwner(v string) *ImageVersion { - s.Owner = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterCombinationException) RequestID() string { + return s.RespMetadata.RequestID } -// SetPlatform sets the Platform field's value. -func (s *ImageVersion) SetPlatform(v string) *ImageVersion { - s.Platform = &v - return s -} +// The specified parameter is invalid. Review the available parameters for the +// API request. +type InvalidParameterException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` -// SetType sets the Type field's value. -func (s *ImageVersion) SetType(v string) *ImageVersion { - s.Type = &v - return s + Message_ *string `locationName:"message" type:"string"` } -// SetVersion sets the Version field's value. -func (s *ImageVersion) SetVersion(v string) *ImageVersion { - s.Version = &v - return s +// 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 InvalidParameterException) String() string { + return awsutil.Prettify(s) } -type ImportComponentInput struct { - _ struct{} `type:"structure"` - - // The change description of the component. This description indicates the change - // that has been made in this version, or what makes this version different - // from other versions of this component. - ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The data of the component. Used to specify the data inline. Either data or - // uri can be used to specify the data within the component. - Data *string `locationName:"data" min:"1" type:"string"` +// 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 InvalidParameterException) GoString() string { + return s.String() +} - // The description of the component. Describes the contents of the component. - Description *string `locationName:"description" min:"1" type:"string"` +func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { + return &InvalidParameterException{ + RespMetadata: v, + } +} - // The format of the resource that you want to import as a component. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"ComponentFormat"` +// Code returns the exception type name. +func (s *InvalidParameterException) Code() string { + return "InvalidParameterException" +} - // The ID of the KMS key that should be used to encrypt this component. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` +// Message returns the exception's message. +func (s *InvalidParameterException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The name of the component. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterException) OrigErr() error { + return nil +} - // The platform of the component. - // - // Platform is a required field - Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` +func (s *InvalidParameterException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The semantic version of the component. This version follows the semantic - // version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The tags of the component. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterException) RequestID() string { + return s.RespMetadata.RequestID +} - // The type of the component denotes whether the component is used to build - // the image, or only to test it. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ComponentType"` +// The value that you provided for the specified parameter is invalid. +type InvalidParameterValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The uri of the component. Must be an Amazon S3 URL and the requester must - // have permission to access the Amazon S3 bucket. If you use Amazon S3, you - // can specify component content up to your service quota. Either data or uri - // can be used to specify the data within the component. - Uri *string `locationName:"uri" type:"string"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -16491,7 +18996,7 @@ type ImportComponentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportComponentInput) String() string { +func (s InvalidParameterValueException) String() string { return awsutil.Prettify(s) } @@ -16500,136 +19005,118 @@ func (s ImportComponentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportComponentInput) GoString() string { +func (s InvalidParameterValueException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImportComponentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportComponentInput"} - if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1)) - } - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Data != nil && len(*s.Data) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Data", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Platform == nil { - invalidParams.Add(request.NewErrParamRequired("Platform")) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { + return &InvalidParameterValueException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidParameterValueException) Code() string { + return "InvalidParameterValueException" +} + +// Message returns the exception's message. +func (s *InvalidParameterValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetChangeDescription sets the ChangeDescription field's value. -func (s *ImportComponentInput) SetChangeDescription(v string) *ImportComponentInput { - s.ChangeDescription = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterValueException) OrigErr() error { + return nil } -// SetClientToken sets the ClientToken field's value. -func (s *ImportComponentInput) SetClientToken(v string) *ImportComponentInput { - s.ClientToken = &v - return s +func (s *InvalidParameterValueException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetData sets the Data field's value. -func (s *ImportComponentInput) SetData(v string) *ImportComponentInput { - s.Data = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterValueException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetDescription sets the Description field's value. -func (s *ImportComponentInput) SetDescription(v string) *ImportComponentInput { - s.Description = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterValueException) RequestID() string { + return s.RespMetadata.RequestID } -// SetFormat sets the Format field's value. -func (s *ImportComponentInput) SetFormat(v string) *ImportComponentInput { - s.Format = &v - return s +// You have requested an action that that the service doesn't support. +type InvalidRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *ImportComponentInput) SetKmsKeyId(v string) *ImportComponentInput { - s.KmsKeyId = &v - return s +// 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 InvalidRequestException) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *ImportComponentInput) SetName(v string) *ImportComponentInput { - s.Name = &v - return 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 InvalidRequestException) GoString() string { + return s.String() } -// SetPlatform sets the Platform field's value. -func (s *ImportComponentInput) SetPlatform(v string) *ImportComponentInput { - s.Platform = &v - return s +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } } -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *ImportComponentInput) SetSemanticVersion(v string) *ImportComponentInput { - s.SemanticVersion = &v - return s +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" } -// SetTags sets the Tags field's value. -func (s *ImportComponentInput) SetTags(v map[string]*string) *ImportComponentInput { - s.Tags = v - return s +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetType sets the Type field's value. -func (s *ImportComponentInput) SetType(v string) *ImportComponentInput { - s.Type = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil } -// SetUri sets the Uri field's value. -func (s *ImportComponentInput) SetUri(v string) *ImportComponentInput { - s.Uri = &v - return s +func (s *InvalidRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -type ImportComponentOutput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID +} - // The Amazon Resource Name (ARN) of the imported component. - ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` +// Your version number is out of bounds or does not follow the required syntax. +type InvalidVersionNumberException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -16637,7 +19124,7 @@ type ImportComponentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportComponentOutput) String() string { +func (s InvalidVersionNumberException) String() string { return awsutil.Prettify(s) } @@ -16646,80 +19133,71 @@ func (s ImportComponentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportComponentOutput) GoString() string { +func (s InvalidVersionNumberException) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *ImportComponentOutput) SetClientToken(v string) *ImportComponentOutput { - s.ClientToken = &v - return s +func newErrorInvalidVersionNumberException(v protocol.ResponseMetadata) error { + return &InvalidVersionNumberException{ + RespMetadata: v, + } } -// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. -func (s *ImportComponentOutput) SetComponentBuildVersionArn(v string) *ImportComponentOutput { - s.ComponentBuildVersionArn = &v - return s +// Code returns the exception type name. +func (s *InvalidVersionNumberException) Code() string { + return "InvalidVersionNumberException" +} + +// Message returns the exception's message. +func (s *InvalidVersionNumberException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetRequestId sets the RequestId field's value. -func (s *ImportComponentOutput) SetRequestId(v string) *ImportComponentOutput { - s.RequestId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidVersionNumberException) OrigErr() error { + return nil } -type ImportVmImageInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` +func (s *InvalidVersionNumberException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The description for the base image that is created by the import process. - Description *string `locationName:"description" min:"1" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidVersionNumberException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The name of the base image that is created by the import process. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidVersionNumberException) RequestID() string { + return s.RespMetadata.RequestID +} - // The operating system version for the imported VM. - OsVersion *string `locationName:"osVersion" min:"1" type:"string"` +// Describes the configuration for a launch permission. The launch permission +// modification request is sent to the Amazon EC2 ModifyImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) +// API on behalf of the user for each Region they have selected to distribute +// the AMI. To make an AMI public, set the launch permission authorized accounts +// to all. See the examples for making an AMI public at Amazon EC2 ModifyImageAttribute +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html). +type LaunchPermissionConfiguration struct { + _ struct{} `type:"structure"` - // The operating system platform for the imported VM. - // - // Platform is a required field - Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` + // The ARN for an Amazon Web Services Organization that you want to share your + // AMI with. For more information, see What is Organizations? (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). + OrganizationArns []*string `locationName:"organizationArns" min:"1" type:"list"` - // The semantic version to attach to the base image that was created during - // the import process. This version follows the semantic version syntax. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Assignment: For the first three nodes you can assign any positive integer - // value, including zero, with an upper limit of 2^30-1, or 1073741823 for each - // node. Image Builder automatically assigns the build number to the fourth - // node. - // - // Patterns: You can use any numeric pattern that adheres to the assignment - // requirements for the nodes that you can assign. For example, you might choose - // a software version pattern, such as 1.0.0, or a date, such as 2021.01.01. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + // The ARN for an Organizations organizational unit (OU) that you want to share + // your AMI with. For more information about key concepts for Organizations, + // see Organizations terminology and concepts (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html). + OrganizationalUnitArns []*string `locationName:"organizationalUnitArns" min:"1" type:"list"` - // Tags that are attached to the import resources. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The name of the group. + UserGroups []*string `locationName:"userGroups" type:"list"` - // The importTaskId (API) or ImportTaskId (CLI) from the Amazon EC2 VM import - // process. Image Builder retrieves information from the import process to pull - // in the AMI that is created from the VM source as the base image for your - // recipe. - // - // VmImportTaskId is a required field - VmImportTaskId *string `locationName:"vmImportTaskId" min:"1" type:"string" required:"true"` + // The Amazon Web Services account ID. + UserIds []*string `locationName:"userIds" min:"1" type:"list"` } // String returns the string representation. @@ -16727,7 +19205,7 @@ type ImportVmImageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportVmImageInput) String() string { +func (s LaunchPermissionConfiguration) String() string { return awsutil.Prettify(s) } @@ -16736,42 +19214,21 @@ func (s ImportVmImageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportVmImageInput) GoString() string { +func (s LaunchPermissionConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImportVmImageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportVmImageInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.OsVersion != nil && len(*s.OsVersion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OsVersion", 1)) - } - if s.Platform == nil { - invalidParams.Add(request.NewErrParamRequired("Platform")) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) +func (s *LaunchPermissionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LaunchPermissionConfiguration"} + if s.OrganizationArns != nil && len(s.OrganizationArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationArns", 1)) } - if s.VmImportTaskId == nil { - invalidParams.Add(request.NewErrParamRequired("VmImportTaskId")) + if s.OrganizationalUnitArns != nil && len(s.OrganizationalUnitArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitArns", 1)) } - if s.VmImportTaskId != nil && len(*s.VmImportTaskId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VmImportTaskId", 1)) + if s.UserIds != nil && len(s.UserIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserIds", 1)) } if invalidParams.Len() > 0 { @@ -16780,67 +19237,45 @@ func (s *ImportVmImageInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *ImportVmImageInput) SetClientToken(v string) *ImportVmImageInput { - s.ClientToken = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *ImportVmImageInput) SetDescription(v string) *ImportVmImageInput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *ImportVmImageInput) SetName(v string) *ImportVmImageInput { - s.Name = &v - return s -} - -// SetOsVersion sets the OsVersion field's value. -func (s *ImportVmImageInput) SetOsVersion(v string) *ImportVmImageInput { - s.OsVersion = &v - return s -} - -// SetPlatform sets the Platform field's value. -func (s *ImportVmImageInput) SetPlatform(v string) *ImportVmImageInput { - s.Platform = &v +// SetOrganizationArns sets the OrganizationArns field's value. +func (s *LaunchPermissionConfiguration) SetOrganizationArns(v []*string) *LaunchPermissionConfiguration { + s.OrganizationArns = v return s } -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *ImportVmImageInput) SetSemanticVersion(v string) *ImportVmImageInput { - s.SemanticVersion = &v +// SetOrganizationalUnitArns sets the OrganizationalUnitArns field's value. +func (s *LaunchPermissionConfiguration) SetOrganizationalUnitArns(v []*string) *LaunchPermissionConfiguration { + s.OrganizationalUnitArns = v return s } -// SetTags sets the Tags field's value. -func (s *ImportVmImageInput) SetTags(v map[string]*string) *ImportVmImageInput { - s.Tags = v +// SetUserGroups sets the UserGroups field's value. +func (s *LaunchPermissionConfiguration) SetUserGroups(v []*string) *LaunchPermissionConfiguration { + s.UserGroups = v return s } -// SetVmImportTaskId sets the VmImportTaskId field's value. -func (s *ImportVmImageInput) SetVmImportTaskId(v string) *ImportVmImageInput { - s.VmImportTaskId = &v +// SetUserIds sets the UserIds field's value. +func (s *LaunchPermissionConfiguration) SetUserIds(v []*string) *LaunchPermissionConfiguration { + s.UserIds = v return s } -type ImportVmImageOutput struct { +// Identifies an Amazon EC2 launch template to use for a specific account. +type LaunchTemplateConfiguration struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + // The account ID that this configuration applies to. + AccountId *string `locationName:"accountId" type:"string"` - // The Amazon Resource Name (ARN) of the AMI that was created during the VM - // import process. This AMI is used as the base image for the recipe that imported - // the VM. - ImageArn *string `locationName:"imageArn" type:"string"` + // Identifies the Amazon EC2 launch template to use. + // + // LaunchTemplateId is a required field + LaunchTemplateId *string `locationName:"launchTemplateId" type:"string" required:"true"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Set the specified Amazon EC2 launch template as the default launch template + // for the specified account. + SetDefaultVersion *bool `locationName:"setDefaultVersion" type:"boolean"` } // String returns the string representation. @@ -16848,7 +19283,7 @@ type ImportVmImageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportVmImageOutput) String() string { +func (s LaunchTemplateConfiguration) String() string { return awsutil.Prettify(s) } @@ -16857,85 +19292,64 @@ func (s ImportVmImageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportVmImageOutput) GoString() string { +func (s LaunchTemplateConfiguration) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *ImportVmImageOutput) SetClientToken(v string) *ImportVmImageOutput { - s.ClientToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *LaunchTemplateConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfiguration"} + if s.LaunchTemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchTemplateId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetImageArn sets the ImageArn field's value. -func (s *ImportVmImageOutput) SetImageArn(v string) *ImportVmImageOutput { - s.ImageArn = &v +// SetAccountId sets the AccountId field's value. +func (s *LaunchTemplateConfiguration) SetAccountId(v string) *LaunchTemplateConfiguration { + s.AccountId = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ImportVmImageOutput) SetRequestId(v string) *ImportVmImageOutput { - s.RequestId = &v +// SetLaunchTemplateId sets the LaunchTemplateId field's value. +func (s *LaunchTemplateConfiguration) SetLaunchTemplateId(v string) *LaunchTemplateConfiguration { + s.LaunchTemplateId = &v return s } -// Details of the infrastructure configuration. -type InfrastructureConfiguration struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the infrastructure configuration. - Arn *string `locationName:"arn" type:"string"` - - // The date on which the infrastructure configuration was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The date on which the infrastructure configuration was last updated. - DateUpdated *string `locationName:"dateUpdated" type:"string"` - - // The description of the infrastructure configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The instance metadata option settings for the infrastructure configuration. - InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` - - // The instance profile of the infrastructure configuration. - InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` - - // The instance types of the infrastructure configuration. - InstanceTypes []*string `locationName:"instanceTypes" type:"list"` - - // The Amazon EC2 key pair of the infrastructure configuration. - KeyPair *string `locationName:"keyPair" min:"1" type:"string"` - - // The logging configuration of the infrastructure configuration. - Logging *Logging `locationName:"logging" type:"structure"` +// SetSetDefaultVersion sets the SetDefaultVersion field's value. +func (s *LaunchTemplateConfiguration) SetSetDefaultVersion(v bool) *LaunchTemplateConfiguration { + s.SetDefaultVersion = &v + return s +} - // The name of the infrastructure configuration. - Name *string `locationName:"name" type:"string"` +// Contains metadata from a runtime instance of a lifecycle policy. +type LifecycleExecution struct { + _ struct{} `type:"structure"` - // The tags attached to the resource created by Image Builder. - ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The timestamp when the lifecycle runtime instance completed. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // The security group IDs of the infrastructure configuration. - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + // Identifies the lifecycle policy runtime instance. + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - // The Amazon Resource Name (ARN) for the SNS topic to which we send image build - // event notifications. - // - // EC2 Image Builder is unable to send notifications to SNS topics that are - // encrypted using keys from other accounts. The key that is used to encrypt - // the SNS topic must reside in the account that the Image Builder service runs - // under. - SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the lifecycle policy that ran. + LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` - // The subnet ID of the infrastructure configuration. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + // Contains information about associated resources that are identified for action + // by the runtime instance of the lifecycle policy. + ResourcesImpactedSummary *LifecycleExecutionResourcesImpactedSummary `locationName:"resourcesImpactedSummary" type:"structure"` - // The tags of the infrastructure configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The timestamp when the lifecycle runtime instance started. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` - // The terminate instance on failure configuration of the infrastructure configuration. - TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` + // Runtime state that reports if the policy action ran successfully, failed, + // or was skipped. + State *LifecycleExecutionState `locationName:"state" type:"structure"` } // String returns the string representation. @@ -16943,7 +19357,7 @@ type InfrastructureConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InfrastructureConfiguration) String() string { +func (s LifecycleExecution) String() string { return awsutil.Prettify(s) } @@ -16952,136 +19366,153 @@ func (s InfrastructureConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InfrastructureConfiguration) GoString() string { +func (s LifecycleExecution) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *InfrastructureConfiguration) SetArn(v string) *InfrastructureConfiguration { - s.Arn = &v +// SetEndTime sets the EndTime field's value. +func (s *LifecycleExecution) SetEndTime(v time.Time) *LifecycleExecution { + s.EndTime = &v return s } -// SetDateCreated sets the DateCreated field's value. -func (s *InfrastructureConfiguration) SetDateCreated(v string) *InfrastructureConfiguration { - s.DateCreated = &v +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *LifecycleExecution) SetLifecycleExecutionId(v string) *LifecycleExecution { + s.LifecycleExecutionId = &v return s } -// SetDateUpdated sets the DateUpdated field's value. -func (s *InfrastructureConfiguration) SetDateUpdated(v string) *InfrastructureConfiguration { - s.DateUpdated = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *LifecycleExecution) SetLifecyclePolicyArn(v string) *LifecycleExecution { + s.LifecyclePolicyArn = &v return s } -// SetDescription sets the Description field's value. -func (s *InfrastructureConfiguration) SetDescription(v string) *InfrastructureConfiguration { - s.Description = &v +// SetResourcesImpactedSummary sets the ResourcesImpactedSummary field's value. +func (s *LifecycleExecution) SetResourcesImpactedSummary(v *LifecycleExecutionResourcesImpactedSummary) *LifecycleExecution { + s.ResourcesImpactedSummary = v return s } -// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. -func (s *InfrastructureConfiguration) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *InfrastructureConfiguration { - s.InstanceMetadataOptions = v +// SetStartTime sets the StartTime field's value. +func (s *LifecycleExecution) SetStartTime(v time.Time) *LifecycleExecution { + s.StartTime = &v return s } -// SetInstanceProfileName sets the InstanceProfileName field's value. -func (s *InfrastructureConfiguration) SetInstanceProfileName(v string) *InfrastructureConfiguration { - s.InstanceProfileName = &v +// SetState sets the State field's value. +func (s *LifecycleExecution) SetState(v *LifecycleExecutionState) *LifecycleExecution { + s.State = v return s } -// SetInstanceTypes sets the InstanceTypes field's value. -func (s *InfrastructureConfiguration) SetInstanceTypes(v []*string) *InfrastructureConfiguration { - s.InstanceTypes = v - return s +// Contains details for a resource that the runtime instance of the lifecycle +// policy identified for action. +type LifecycleExecutionResource struct { + _ struct{} `type:"structure"` + + // The account that owns the impacted resource. + AccountId *string `locationName:"accountId" min:"1" type:"string"` + + // The action to take for the identified resource. + Action *LifecycleExecutionResourceAction `locationName:"action" type:"structure"` + + // For an impacted container image, this identifies a list of URIs for associated + // container images distributed to ECR repositories. + ImageUris []*string `locationName:"imageUris" type:"list"` + + // The Amazon Web Services Region where the lifecycle execution resource is + // stored. + Region *string `locationName:"region" min:"1" type:"string"` + + // Identifies the impacted resource. The resource ID depends on the type of + // resource, as follows. + // + // * Image Builder image resources: Amazon Resource Name (ARN) + // + // * Distributed AMIs: AMI ID + // + // * Container images distributed to an ECR repository: image URI or SHA + // Digest + ResourceId *string `locationName:"resourceId" min:"1" type:"string"` + + // A list of associated resource snapshots for the impacted resource if it’s + // an AMI. + Snapshots []*LifecycleExecutionSnapshotResource `locationName:"snapshots" type:"list"` + + // The runtime state for the lifecycle execution. + State *LifecycleExecutionResourceState `locationName:"state" type:"structure"` } -// SetKeyPair sets the KeyPair field's value. -func (s *InfrastructureConfiguration) SetKeyPair(v string) *InfrastructureConfiguration { - s.KeyPair = &v - return s +// 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 LifecycleExecutionResource) String() string { + return awsutil.Prettify(s) } -// SetLogging sets the Logging field's value. -func (s *InfrastructureConfiguration) SetLogging(v *Logging) *InfrastructureConfiguration { - s.Logging = v - return 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 LifecycleExecutionResource) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfiguration { - s.Name = &v +// SetAccountId sets the AccountId field's value. +func (s *LifecycleExecutionResource) SetAccountId(v string) *LifecycleExecutionResource { + s.AccountId = &v return s } -// SetResourceTags sets the ResourceTags field's value. -func (s *InfrastructureConfiguration) SetResourceTags(v map[string]*string) *InfrastructureConfiguration { - s.ResourceTags = v +// SetAction sets the Action field's value. +func (s *LifecycleExecutionResource) SetAction(v *LifecycleExecutionResourceAction) *LifecycleExecutionResource { + s.Action = v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration { - s.SecurityGroupIds = v +// SetImageUris sets the ImageUris field's value. +func (s *LifecycleExecutionResource) SetImageUris(v []*string) *LifecycleExecutionResource { + s.ImageUris = v return s } -// SetSnsTopicArn sets the SnsTopicArn field's value. -func (s *InfrastructureConfiguration) SetSnsTopicArn(v string) *InfrastructureConfiguration { - s.SnsTopicArn = &v +// SetRegion sets the Region field's value. +func (s *LifecycleExecutionResource) SetRegion(v string) *LifecycleExecutionResource { + s.Region = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *InfrastructureConfiguration) SetSubnetId(v string) *InfrastructureConfiguration { - s.SubnetId = &v +// SetResourceId sets the ResourceId field's value. +func (s *LifecycleExecutionResource) SetResourceId(v string) *LifecycleExecutionResource { + s.ResourceId = &v return s } -// SetTags sets the Tags field's value. -func (s *InfrastructureConfiguration) SetTags(v map[string]*string) *InfrastructureConfiguration { - s.Tags = v +// SetSnapshots sets the Snapshots field's value. +func (s *LifecycleExecutionResource) SetSnapshots(v []*LifecycleExecutionSnapshotResource) *LifecycleExecutionResource { + s.Snapshots = v return s } -// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. -func (s *InfrastructureConfiguration) SetTerminateInstanceOnFailure(v bool) *InfrastructureConfiguration { - s.TerminateInstanceOnFailure = &v +// SetState sets the State field's value. +func (s *LifecycleExecutionResource) SetState(v *LifecycleExecutionResourceState) *LifecycleExecutionResource { + s.State = v return s } -// The infrastructure used when building Amazon EC2 AMIs. -type InfrastructureConfigurationSummary struct { +// The lifecycle policy action that was identified for the impacted resource. +type LifecycleExecutionResourceAction struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the infrastructure configuration. - Arn *string `locationName:"arn" type:"string"` - - // The date on which the infrastructure configuration was created. - DateCreated *string `locationName:"dateCreated" type:"string"` - - // The date on which the infrastructure configuration was last updated. - DateUpdated *string `locationName:"dateUpdated" type:"string"` - - // The description of the infrastructure configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The instance profile of the infrastructure configuration. - InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` - - // The instance types of the infrastructure configuration. - InstanceTypes []*string `locationName:"instanceTypes" type:"list"` - - // The name of the infrastructure configuration. - Name *string `locationName:"name" type:"string"` - - // The tags attached to the image created by Image Builder. - ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The name of the resource that was identified for a lifecycle policy action. + Name *string `locationName:"name" type:"string" enum:"LifecycleExecutionResourceActionName"` - // The tags of the infrastructure configuration. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The reason why the lifecycle policy action is taken. + Reason *string `locationName:"reason" min:"1" type:"string"` } // String returns the string representation. @@ -17089,7 +19520,7 @@ type InfrastructureConfigurationSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InfrastructureConfigurationSummary) String() string { +func (s LifecycleExecutionResourceAction) String() string { return awsutil.Prettify(s) } @@ -17098,72 +19529,32 @@ func (s InfrastructureConfigurationSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InfrastructureConfigurationSummary) GoString() string { +func (s LifecycleExecutionResourceAction) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *InfrastructureConfigurationSummary) SetArn(v string) *InfrastructureConfigurationSummary { - s.Arn = &v - return s -} - -// SetDateCreated sets the DateCreated field's value. -func (s *InfrastructureConfigurationSummary) SetDateCreated(v string) *InfrastructureConfigurationSummary { - s.DateCreated = &v - return s -} - -// SetDateUpdated sets the DateUpdated field's value. -func (s *InfrastructureConfigurationSummary) SetDateUpdated(v string) *InfrastructureConfigurationSummary { - s.DateUpdated = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *InfrastructureConfigurationSummary) SetDescription(v string) *InfrastructureConfigurationSummary { - s.Description = &v - return s -} - -// SetInstanceProfileName sets the InstanceProfileName field's value. -func (s *InfrastructureConfigurationSummary) SetInstanceProfileName(v string) *InfrastructureConfigurationSummary { - s.InstanceProfileName = &v - return s -} - -// SetInstanceTypes sets the InstanceTypes field's value. -func (s *InfrastructureConfigurationSummary) SetInstanceTypes(v []*string) *InfrastructureConfigurationSummary { - s.InstanceTypes = v - return s -} - // SetName sets the Name field's value. -func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureConfigurationSummary { +func (s *LifecycleExecutionResourceAction) SetName(v string) *LifecycleExecutionResourceAction { s.Name = &v return s } -// SetResourceTags sets the ResourceTags field's value. -func (s *InfrastructureConfigurationSummary) SetResourceTags(v map[string]*string) *InfrastructureConfigurationSummary { - s.ResourceTags = v - return s -} - -// SetTags sets the Tags field's value. -func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary { - s.Tags = v +// SetReason sets the Reason field's value. +func (s *LifecycleExecutionResourceAction) SetReason(v string) *LifecycleExecutionResourceAction { + s.Reason = &v return s } -// Information about the factors that influenced the score that Amazon Inspector -// assigned for a finding. -type InspectorScoreDetails struct { +// Contains the state of an impacted resource that the runtime instance of the +// lifecycle policy identified for action. +type LifecycleExecutionResourceState struct { _ struct{} `type:"structure"` - // An object that contains details about an adjustment that Amazon Inspector - // made to the CVSS score for the finding. - AdjustedCvss *CvssScoreDetails `locationName:"adjustedCvss" type:"structure"` + // Messaging that clarifies the reason for the assigned status. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The runtime status of the lifecycle action taken for the impacted resource. + Status *string `locationName:"status" type:"string" enum:"LifecycleExecutionResourceStatus"` } // String returns the string representation. @@ -17171,7 +19562,7 @@ type InspectorScoreDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InspectorScoreDetails) String() string { +func (s LifecycleExecutionResourceState) String() string { return awsutil.Prettify(s) } @@ -17180,31 +19571,30 @@ func (s InspectorScoreDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InspectorScoreDetails) GoString() string { +func (s LifecycleExecutionResourceState) GoString() string { return s.String() } -// SetAdjustedCvss sets the AdjustedCvss field's value. -func (s *InspectorScoreDetails) SetAdjustedCvss(v *CvssScoreDetails) *InspectorScoreDetails { - s.AdjustedCvss = v +// SetReason sets the Reason field's value. +func (s *LifecycleExecutionResourceState) SetReason(v string) *LifecycleExecutionResourceState { + s.Reason = &v return s } -// Defines block device mappings for the instance used to configure your image. -type InstanceBlockDeviceMapping struct { - _ struct{} `type:"structure"` - - // The device to which these mappings apply. - DeviceName *string `locationName:"deviceName" min:"1" type:"string"` - - // Use to manage Amazon EBS-specific configuration for this mapping. - Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"` +// SetStatus sets the Status field's value. +func (s *LifecycleExecutionResourceState) SetStatus(v string) *LifecycleExecutionResourceState { + s.Status = &v + return s +} - // Use to remove a mapping from the base image. - NoDevice *string `locationName:"noDevice" type:"string"` +// Contains details for an image resource that was identified for a lifecycle +// action. +type LifecycleExecutionResourcesImpactedSummary struct { + _ struct{} `type:"structure"` - // Use to manage instance ephemeral devices. - VirtualName *string `locationName:"virtualName" min:"1" type:"string"` + // Indicates whether an image resource that was identified for a lifecycle action + // has associated resources that are also impacted. + HasImpactedResources *bool `locationName:"hasImpactedResources" type:"boolean"` } // String returns the string representation. @@ -17212,7 +19602,7 @@ type InstanceBlockDeviceMapping struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceBlockDeviceMapping) String() string { +func (s LifecycleExecutionResourcesImpactedSummary) String() string { return awsutil.Prettify(s) } @@ -17221,68 +19611,26 @@ func (s InstanceBlockDeviceMapping) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceBlockDeviceMapping) GoString() string { +func (s LifecycleExecutionResourcesImpactedSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstanceBlockDeviceMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstanceBlockDeviceMapping"} - if s.DeviceName != nil && len(*s.DeviceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1)) - } - if s.VirtualName != nil && len(*s.VirtualName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualName", 1)) - } - if s.Ebs != nil { - if err := s.Ebs.Validate(); err != nil { - invalidParams.AddNested("Ebs", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDeviceName sets the DeviceName field's value. -func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping { - s.DeviceName = &v - return s -} - -// SetEbs sets the Ebs field's value. -func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMapping { - s.Ebs = v - return s -} - -// SetNoDevice sets the NoDevice field's value. -func (s *InstanceBlockDeviceMapping) SetNoDevice(v string) *InstanceBlockDeviceMapping { - s.NoDevice = &v - return s -} - -// SetVirtualName sets the VirtualName field's value. -func (s *InstanceBlockDeviceMapping) SetVirtualName(v string) *InstanceBlockDeviceMapping { - s.VirtualName = &v +// SetHasImpactedResources sets the HasImpactedResources field's value. +func (s *LifecycleExecutionResourcesImpactedSummary) SetHasImpactedResources(v bool) *LifecycleExecutionResourcesImpactedSummary { + s.HasImpactedResources = &v return s } -// Defines a custom base AMI and block device mapping configurations of an instance -// used for building and testing container images. -type InstanceConfiguration struct { +// Contains the state of an impacted snapshot resource that the runtime instance +// of the lifecycle policy identified for action. +type LifecycleExecutionSnapshotResource struct { _ struct{} `type:"structure"` - // Defines the block devices to attach for building an instance from this Image - // Builder AMI. - BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` + // Identifies the impacted snapshot resource. + SnapshotId *string `locationName:"snapshotId" min:"1" type:"string"` - // The AMI ID to use as the base image for a container build and test instance. - // If not specified, Image Builder will use the appropriate ECS-optimized AMI - // as a base image. - Image *string `locationName:"image" min:"1" type:"string"` + // The runtime status of the lifecycle action taken for the snapshot. + State *LifecycleExecutionResourceState `locationName:"state" type:"structure"` } // String returns the string representation. @@ -17290,7 +19638,7 @@ type InstanceConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceConfiguration) String() string { +func (s LifecycleExecutionSnapshotResource) String() string { return awsutil.Prettify(s) } @@ -17299,72 +19647,31 @@ func (s InstanceConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceConfiguration) GoString() string { +func (s LifecycleExecutionSnapshotResource) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstanceConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstanceConfiguration"} - if s.Image != nil && len(*s.Image) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Image", 1)) - } - if s.BlockDeviceMappings != nil { - for i, v := range s.BlockDeviceMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBlockDeviceMappings sets the BlockDeviceMappings field's value. -func (s *InstanceConfiguration) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *InstanceConfiguration { - s.BlockDeviceMappings = v +// SetSnapshotId sets the SnapshotId field's value. +func (s *LifecycleExecutionSnapshotResource) SetSnapshotId(v string) *LifecycleExecutionSnapshotResource { + s.SnapshotId = &v return s } -// SetImage sets the Image field's value. -func (s *InstanceConfiguration) SetImage(v string) *InstanceConfiguration { - s.Image = &v +// SetState sets the State field's value. +func (s *LifecycleExecutionSnapshotResource) SetState(v *LifecycleExecutionResourceState) *LifecycleExecutionSnapshotResource { + s.State = v return s } -// The instance metadata options that apply to the HTTP requests that pipeline -// builds use to launch EC2 build and test instances. For more information about -// instance metadata options, see Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) -// in the Amazon EC2 User Guide for Linux instances, or Configure the instance -// metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html) -// in the Amazon EC2 Windows Guide for Windows instances. -type InstanceMetadataOptions struct { +// The current state of the runtime instance of the lifecycle policy. +type LifecycleExecutionState struct { _ struct{} `type:"structure"` - // Limit the number of hops that an instance metadata request can traverse to - // reach its destination. The default is one hop. However, if HTTP tokens are - // required, container image builds need a minimum of two hops. - HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" min:"1" type:"integer"` + // The reason for the current status. + Reason *string `locationName:"reason" min:"1" type:"string"` - // Indicates whether a signed token header is required for instance metadata - // retrieval requests. The values affect the response as follows: - // - // * required – When you retrieve the IAM role credentials, version 2.0 - // credentials are returned in all cases. - // - // * optional – You can include a signed token header in your request to - // retrieve instance metadata, or you can leave it out. If you include it, - // version 2.0 credentials are returned for the IAM role. Otherwise, version - // 1.0 credentials are returned. - // - // The default setting is optional. - HttpTokens *string `locationName:"httpTokens" type:"string"` + // The runtime status of the lifecycle execution. + Status *string `locationName:"status" type:"string" enum:"LifecycleExecutionStatus"` } // String returns the string representation. @@ -17372,7 +19679,7 @@ type InstanceMetadataOptions struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceMetadataOptions) String() string { +func (s LifecycleExecutionState) String() string { return awsutil.Prettify(s) } @@ -17381,41 +19688,64 @@ func (s InstanceMetadataOptions) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InstanceMetadataOptions) GoString() string { +func (s LifecycleExecutionState) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstanceMetadataOptions) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"} - if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 { - invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value. -func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions { - s.HttpPutResponseHopLimit = &v +// SetReason sets the Reason field's value. +func (s *LifecycleExecutionState) SetReason(v string) *LifecycleExecutionState { + s.Reason = &v return s } -// SetHttpTokens sets the HttpTokens field's value. -func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions { - s.HttpTokens = &v +// SetStatus sets the Status field's value. +func (s *LifecycleExecutionState) SetStatus(v string) *LifecycleExecutionState { + s.Status = &v return s } -// You have provided an invalid pagination token in your request. -type InvalidPaginationTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The configuration details for a lifecycle policy resource. +type LifecyclePolicy struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the lifecycle policy resource. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when Image Builder created the lifecycle policy resource. + DateCreated *time.Time `locationName:"dateCreated" type:"timestamp"` + + // The timestamp for the last time Image Builder ran the lifecycle policy. + DateLastRun *time.Time `locationName:"dateLastRun" type:"timestamp"` + + // The timestamp when Image Builder updated the lifecycle policy resource. + DateUpdated *time.Time `locationName:"dateUpdated" type:"timestamp"` + + // Optional description for the lifecycle policy. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name or Amazon Resource Name (ARN) of the IAM role that Image Builder + // uses to run the lifecycle policy. This is a custom role that you create. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // The name of the lifecycle policy. + Name *string `locationName:"name" type:"string"` + + // The configuration details for a lifecycle policy resource. + PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list"` + + // Resource selection criteria used to run the lifecycle policy. + ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure"` + + // The type of resources the lifecycle policy targets. + ResourceType *string `locationName:"resourceType" type:"string" enum:"LifecyclePolicyResourceType"` - Message_ *string `locationName:"message" type:"string"` + // Indicates whether the lifecycle policy resource is enabled. + Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + + // To help manage your lifecycle policy resources, you can assign your own metadata + // to each resource in the form of tags. Each tag consists of a key and an optional + // value, both of which you define. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -17423,7 +19753,7 @@ type InvalidPaginationTokenException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidPaginationTokenException) String() string { +func (s LifecyclePolicy) String() string { return awsutil.Prettify(s) } @@ -17432,55 +19762,98 @@ func (s InvalidPaginationTokenException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidPaginationTokenException) GoString() string { +func (s LifecyclePolicy) GoString() string { return s.String() } -func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { - return &InvalidPaginationTokenException{ - RespMetadata: v, - } +// SetArn sets the Arn field's value. +func (s *LifecyclePolicy) SetArn(v string) *LifecyclePolicy { + s.Arn = &v + return s } -// Code returns the exception type name. -func (s *InvalidPaginationTokenException) Code() string { - return "InvalidPaginationTokenException" +// SetDateCreated sets the DateCreated field's value. +func (s *LifecyclePolicy) SetDateCreated(v time.Time) *LifecyclePolicy { + s.DateCreated = &v + return s } -// Message returns the exception's message. -func (s *InvalidPaginationTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDateLastRun sets the DateLastRun field's value. +func (s *LifecyclePolicy) SetDateLastRun(v time.Time) *LifecyclePolicy { + s.DateLastRun = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidPaginationTokenException) OrigErr() error { - return nil +// SetDateUpdated sets the DateUpdated field's value. +func (s *LifecyclePolicy) SetDateUpdated(v time.Time) *LifecyclePolicy { + s.DateUpdated = &v + return s } -func (s *InvalidPaginationTokenException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetDescription sets the Description field's value. +func (s *LifecyclePolicy) SetDescription(v string) *LifecyclePolicy { + s.Description = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidPaginationTokenException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetExecutionRole sets the ExecutionRole field's value. +func (s *LifecyclePolicy) SetExecutionRole(v string) *LifecyclePolicy { + s.ExecutionRole = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidPaginationTokenException) RequestID() string { - return s.RespMetadata.RequestID +// SetName sets the Name field's value. +func (s *LifecyclePolicy) SetName(v string) *LifecyclePolicy { + s.Name = &v + return s } -// You have specified two or more mutually exclusive parameters. Review the -// error message for details. -type InvalidParameterCombinationException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetPolicyDetails sets the PolicyDetails field's value. +func (s *LifecyclePolicy) SetPolicyDetails(v []*LifecyclePolicyDetail) *LifecyclePolicy { + s.PolicyDetails = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetResourceSelection sets the ResourceSelection field's value. +func (s *LifecyclePolicy) SetResourceSelection(v *LifecyclePolicyResourceSelection) *LifecyclePolicy { + s.ResourceSelection = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *LifecyclePolicy) SetResourceType(v string) *LifecyclePolicy { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *LifecyclePolicy) SetStatus(v string) *LifecyclePolicy { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *LifecyclePolicy) SetTags(v map[string]*string) *LifecyclePolicy { + s.Tags = v + return s +} + +// The configuration details for a lifecycle policy resource. +type LifecyclePolicyDetail struct { + _ struct{} `type:"structure"` + + // Configuration details for the policy action. + // + // Action is a required field + Action *LifecyclePolicyDetailAction `locationName:"action" type:"structure" required:"true"` + + // Additional rules to specify resources that should be exempt from policy actions. + ExclusionRules *LifecyclePolicyDetailExclusionRules `locationName:"exclusionRules" type:"structure"` + + // Specifies the resources that the lifecycle policy applies to. + // + // Filter is a required field + Filter *LifecyclePolicyDetailFilter `locationName:"filter" type:"structure" required:"true"` } // String returns the string representation. @@ -17488,7 +19861,7 @@ type InvalidParameterCombinationException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterCombinationException) String() string { +func (s LifecyclePolicyDetail) String() string { return awsutil.Prettify(s) } @@ -17497,55 +19870,70 @@ func (s InvalidParameterCombinationException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterCombinationException) GoString() string { +func (s LifecyclePolicyDetail) GoString() string { return s.String() } -func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error { - return &InvalidParameterCombinationException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyDetail) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetail"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } -} - -// Code returns the exception type name. -func (s *InvalidParameterCombinationException) Code() string { - return "InvalidParameterCombinationException" -} - -// Message returns the exception's message. -func (s *InvalidParameterCombinationException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Filter == nil { + invalidParams.Add(request.NewErrParamRequired("Filter")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.ExclusionRules != nil { + if err := s.ExclusionRules.Validate(); err != nil { + invalidParams.AddNested("ExclusionRules", err.(request.ErrInvalidParams)) + } + } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterCombinationException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidParameterCombinationException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetAction sets the Action field's value. +func (s *LifecyclePolicyDetail) SetAction(v *LifecyclePolicyDetailAction) *LifecyclePolicyDetail { + s.Action = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterCombinationException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetExclusionRules sets the ExclusionRules field's value. +func (s *LifecyclePolicyDetail) SetExclusionRules(v *LifecyclePolicyDetailExclusionRules) *LifecyclePolicyDetail { + s.ExclusionRules = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterCombinationException) RequestID() string { - return s.RespMetadata.RequestID +// SetFilter sets the Filter field's value. +func (s *LifecyclePolicyDetail) SetFilter(v *LifecyclePolicyDetailFilter) *LifecyclePolicyDetail { + s.Filter = v + return s } -// The specified parameter is invalid. Review the available parameters for the -// API request. -type InvalidParameterException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Contains selection criteria for the lifecycle policy. +type LifecyclePolicyDetailAction struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // Specifies the resources that the lifecycle policy applies to. + IncludeResources *LifecyclePolicyDetailActionIncludeResources `locationName:"includeResources" type:"structure"` + + // Specifies the lifecycle action to take. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"LifecyclePolicyDetailActionType"` } // String returns the string representation. @@ -17553,7 +19941,7 @@ type InvalidParameterException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterException) String() string { +func (s LifecyclePolicyDetailAction) String() string { return awsutil.Prettify(s) } @@ -17562,54 +19950,97 @@ func (s InvalidParameterException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterException) GoString() string { +func (s LifecyclePolicyDetailAction) GoString() string { return s.String() } -func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { - return &InvalidParameterException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyDetailAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailAction"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *InvalidParameterException) Code() string { - return "InvalidParameterException" +// SetIncludeResources sets the IncludeResources field's value. +func (s *LifecyclePolicyDetailAction) SetIncludeResources(v *LifecyclePolicyDetailActionIncludeResources) *LifecyclePolicyDetailAction { + s.IncludeResources = v + return s +} + +// SetType sets the Type field's value. +func (s *LifecyclePolicyDetailAction) SetType(v string) *LifecyclePolicyDetailAction { + s.Type = &v + return s +} + +// Specifies how the lifecycle policy should apply actions to selected resources. +type LifecyclePolicyDetailActionIncludeResources struct { + _ struct{} `type:"structure"` + + // Specifies whether the lifecycle action should apply to distributed AMIs. + Amis *bool `locationName:"amis" type:"boolean"` + + // Specifies whether the lifecycle action should apply to distributed containers. + Containers *bool `locationName:"containers" type:"boolean"` + + // Specifies whether the lifecycle action should apply to snapshots associated + // with distributed AMIs. + Snapshots *bool `locationName:"snapshots" 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 LifecyclePolicyDetailActionIncludeResources) String() string { + return awsutil.Prettify(s) } -// Message returns the exception's message. -func (s *InvalidParameterException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// 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 LifecyclePolicyDetailActionIncludeResources) GoString() string { + return s.String() } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterException) OrigErr() error { - return nil +// SetAmis sets the Amis field's value. +func (s *LifecyclePolicyDetailActionIncludeResources) SetAmis(v bool) *LifecyclePolicyDetailActionIncludeResources { + s.Amis = &v + return s } -func (s *InvalidParameterException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetContainers sets the Containers field's value. +func (s *LifecyclePolicyDetailActionIncludeResources) SetContainers(v bool) *LifecyclePolicyDetailActionIncludeResources { + s.Containers = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSnapshots sets the Snapshots field's value. +func (s *LifecyclePolicyDetailActionIncludeResources) SetSnapshots(v bool) *LifecyclePolicyDetailActionIncludeResources { + s.Snapshots = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterException) RequestID() string { - return s.RespMetadata.RequestID -} +// Specifies resources that lifecycle policy actions should not apply to. +type LifecyclePolicyDetailExclusionRules struct { + _ struct{} `type:"structure"` -// The value that you provided for the specified parameter is invalid. -type InvalidParameterValueException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Lists configuration values that apply to AMIs that Image Builder should exclude + // from the lifecycle action. + Amis *LifecyclePolicyDetailExclusionRulesAmis `locationName:"amis" type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // Contains a list of tags that Image Builder uses to skip lifecycle actions + // for resources that have them. + TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` } // String returns the string representation. @@ -17617,7 +20048,7 @@ type InvalidParameterValueException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterValueException) String() string { +func (s LifecyclePolicyDetailExclusionRules) String() string { return awsutil.Prettify(s) } @@ -17626,54 +20057,62 @@ func (s InvalidParameterValueException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidParameterValueException) GoString() string { +func (s LifecyclePolicyDetailExclusionRules) GoString() string { return s.String() } -func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { - return &InvalidParameterValueException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyDetailExclusionRules) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRules"} + if s.TagMap != nil && len(s.TagMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) } -} - -// Code returns the exception type name. -func (s *InvalidParameterValueException) Code() string { - return "InvalidParameterValueException" -} - -// Message returns the exception's message. -func (s *InvalidParameterValueException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Amis != nil { + if err := s.Amis.Validate(); err != nil { + invalidParams.AddNested("Amis", err.(request.ErrInvalidParams)) + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterValueException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidParameterValueException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetAmis sets the Amis field's value. +func (s *LifecyclePolicyDetailExclusionRules) SetAmis(v *LifecyclePolicyDetailExclusionRulesAmis) *LifecyclePolicyDetailExclusionRules { + s.Amis = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterValueException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetTagMap sets the TagMap field's value. +func (s *LifecyclePolicyDetailExclusionRules) SetTagMap(v map[string]*string) *LifecyclePolicyDetailExclusionRules { + s.TagMap = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterValueException) RequestID() string { - return s.RespMetadata.RequestID -} +// Defines criteria for AMIs that are excluded from lifecycle actions. +type LifecyclePolicyDetailExclusionRulesAmis struct { + _ struct{} `type:"structure"` -// You have requested an action that that the service doesn't support. -type InvalidRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Configures whether public AMIs are excluded from the lifecycle action. + IsPublic *bool `locationName:"isPublic" type:"boolean"` - Message_ *string `locationName:"message" type:"string"` + // Specifies configuration details for Image Builder to exclude the most recent + // resources from lifecycle actions. + LastLaunched *LifecyclePolicyDetailExclusionRulesAmisLastLaunched `locationName:"lastLaunched" type:"structure"` + + // Configures Amazon Web Services Regions that are excluded from the lifecycle + // action. + Regions []*string `locationName:"regions" type:"list"` + + // Specifies Amazon Web Services accounts whose resources are excluded from + // the lifecycle action. + SharedAccounts []*string `locationName:"sharedAccounts" min:"1" type:"list"` + + // Lists tags that should be excluded from lifecycle actions for the AMIs that + // have them. + TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` } // String returns the string representation. @@ -17681,7 +20120,7 @@ type InvalidRequestException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidRequestException) String() string { +func (s LifecyclePolicyDetailExclusionRulesAmis) String() string { return awsutil.Prettify(s) } @@ -17690,54 +20129,77 @@ func (s InvalidRequestException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidRequestException) GoString() string { +func (s LifecyclePolicyDetailExclusionRulesAmis) GoString() string { return s.String() } -func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { - return &InvalidRequestException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyDetailExclusionRulesAmis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRulesAmis"} + if s.SharedAccounts != nil && len(s.SharedAccounts) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SharedAccounts", 1)) + } + if s.TagMap != nil && len(s.TagMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) + } + if s.LastLaunched != nil { + if err := s.LastLaunched.Validate(); err != nil { + invalidParams.AddNested("LastLaunched", err.(request.ErrInvalidParams)) + } } -} -// Code returns the exception type name. -func (s *InvalidRequestException) Code() string { - return "InvalidRequestException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *InvalidRequestException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetIsPublic sets the IsPublic field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmis) SetIsPublic(v bool) *LifecyclePolicyDetailExclusionRulesAmis { + s.IsPublic = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidRequestException) OrigErr() error { - return nil +// SetLastLaunched sets the LastLaunched field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmis) SetLastLaunched(v *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) *LifecyclePolicyDetailExclusionRulesAmis { + s.LastLaunched = v + return s } -func (s *InvalidRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRegions sets the Regions field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmis) SetRegions(v []*string) *LifecyclePolicyDetailExclusionRulesAmis { + s.Regions = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidRequestException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSharedAccounts sets the SharedAccounts field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmis) SetSharedAccounts(v []*string) *LifecyclePolicyDetailExclusionRulesAmis { + s.SharedAccounts = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidRequestException) RequestID() string { - return s.RespMetadata.RequestID +// SetTagMap sets the TagMap field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmis) SetTagMap(v map[string]*string) *LifecyclePolicyDetailExclusionRulesAmis { + s.TagMap = v + return s } -// Your version number is out of bounds or does not follow the required syntax. -type InvalidVersionNumberException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Defines criteria to exclude AMIs from lifecycle actions based on the last +// time they were used to launch an instance. +type LifecyclePolicyDetailExclusionRulesAmisLastLaunched struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // Defines the unit of time that the lifecycle policy uses to calculate elapsed + // time since the last instance launched from the AMI. For example: days, weeks, + // months, or years. + // + // Unit is a required field + Unit *string `locationName:"unit" type:"string" required:"true" enum:"LifecyclePolicyTimeUnit"` + + // The integer number of units for the time period. For example 6 (months). + // + // Value is a required field + Value *int64 `locationName:"value" min:"1" type:"integer" required:"true"` } // String returns the string representation. @@ -17745,7 +20207,7 @@ type InvalidVersionNumberException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidVersionNumberException) String() string { +func (s LifecyclePolicyDetailExclusionRulesAmisLastLaunched) String() string { return awsutil.Prettify(s) } @@ -17754,71 +20216,69 @@ func (s InvalidVersionNumberException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidVersionNumberException) GoString() string { +func (s LifecyclePolicyDetailExclusionRulesAmisLastLaunched) GoString() string { return s.String() } -func newErrorInvalidVersionNumberException(v protocol.ResponseMetadata) error { - return &InvalidVersionNumberException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRulesAmisLastLaunched"} + if s.Unit == nil { + invalidParams.Add(request.NewErrParamRequired("Unit")) } -} - -// Code returns the exception type name. -func (s *InvalidVersionNumberException) Code() string { - return "InvalidVersionNumberException" -} - -// Message returns the exception's message. -func (s *InvalidVersionNumberException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && *s.Value < 1 { + invalidParams.Add(request.NewErrParamMinValue("Value", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidVersionNumberException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidVersionNumberException) 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 *InvalidVersionNumberException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetUnit sets the Unit field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) SetUnit(v string) *LifecyclePolicyDetailExclusionRulesAmisLastLaunched { + s.Unit = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidVersionNumberException) RequestID() string { - return s.RespMetadata.RequestID +// SetValue sets the Value field's value. +func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) SetValue(v int64) *LifecyclePolicyDetailExclusionRulesAmisLastLaunched { + s.Value = &v + return s } -// Describes the configuration for a launch permission. The launch permission -// modification request is sent to the Amazon EC2 ModifyImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) -// API on behalf of the user for each Region they have selected to distribute -// the AMI. To make an AMI public, set the launch permission authorized accounts -// to all. See the examples for making an AMI public at Amazon EC2 ModifyImageAttribute -// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html). -type LaunchPermissionConfiguration struct { +// Defines filters that the lifecycle policy uses to determine impacted resource. +type LifecyclePolicyDetailFilter struct { _ struct{} `type:"structure"` - // The ARN for an Amazon Web Services Organization that you want to share your - // AMI with. For more information, see What is Organizations? (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). - OrganizationArns []*string `locationName:"organizationArns" min:"1" type:"list"` + // For age-based filters, this is the number of resources to keep on hand after + // the lifecycle DELETE action is applied. Impacted resources are only deleted + // if you have more than this number of resources. If you have fewer resources + // than this number, the impacted resource is not deleted. + RetainAtLeast *int64 `locationName:"retainAtLeast" min:"1" type:"integer"` - // The ARN for an Organizations organizational unit (OU) that you want to share - // your AMI with. For more information about key concepts for Organizations, - // see Organizations terminology and concepts (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html). - OrganizationalUnitArns []*string `locationName:"organizationalUnitArns" min:"1" type:"list"` + // Filter resources based on either age or count. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"LifecyclePolicyDetailFilterType"` - // The name of the group. - UserGroups []*string `locationName:"userGroups" type:"list"` + // Defines the unit of time that the lifecycle policy uses to determine impacted + // resources. This is required for age-based rules. + Unit *string `locationName:"unit" type:"string" enum:"LifecyclePolicyTimeUnit"` - // The Amazon Web Services account ID. - UserIds []*string `locationName:"userIds" min:"1" type:"list"` + // The number of units for the time period or for the count. For example, a + // value of 6 might refer to six months or six AMIs. + // + // For count-based filters, this value represents the minimum number of resources + // to keep on hand. If you have fewer resources than this number, the resource + // is excluded from lifecycle actions. + // + // Value is a required field + Value *int64 `locationName:"value" min:"1" type:"integer" required:"true"` } // String returns the string representation. @@ -17826,7 +20286,7 @@ type LaunchPermissionConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LaunchPermissionConfiguration) String() string { +func (s LifecyclePolicyDetailFilter) String() string { return awsutil.Prettify(s) } @@ -17835,21 +20295,24 @@ func (s LaunchPermissionConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LaunchPermissionConfiguration) GoString() string { +func (s LifecyclePolicyDetailFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LaunchPermissionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LaunchPermissionConfiguration"} - if s.OrganizationArns != nil && len(s.OrganizationArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OrganizationArns", 1)) +func (s *LifecyclePolicyDetailFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailFilter"} + if s.RetainAtLeast != nil && *s.RetainAtLeast < 1 { + invalidParams.Add(request.NewErrParamMinValue("RetainAtLeast", 1)) } - if s.OrganizationalUnitArns != nil && len(s.OrganizationalUnitArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitArns", 1)) + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } - if s.UserIds != nil && len(s.UserIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserIds", 1)) + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && *s.Value < 1 { + invalidParams.Add(request.NewErrParamMinValue("Value", 1)) } if invalidParams.Len() > 0 { @@ -17858,45 +20321,41 @@ func (s *LaunchPermissionConfiguration) Validate() error { return nil } -// SetOrganizationArns sets the OrganizationArns field's value. -func (s *LaunchPermissionConfiguration) SetOrganizationArns(v []*string) *LaunchPermissionConfiguration { - s.OrganizationArns = v +// SetRetainAtLeast sets the RetainAtLeast field's value. +func (s *LifecyclePolicyDetailFilter) SetRetainAtLeast(v int64) *LifecyclePolicyDetailFilter { + s.RetainAtLeast = &v return s } -// SetOrganizationalUnitArns sets the OrganizationalUnitArns field's value. -func (s *LaunchPermissionConfiguration) SetOrganizationalUnitArns(v []*string) *LaunchPermissionConfiguration { - s.OrganizationalUnitArns = v +// SetType sets the Type field's value. +func (s *LifecyclePolicyDetailFilter) SetType(v string) *LifecyclePolicyDetailFilter { + s.Type = &v return s } -// SetUserGroups sets the UserGroups field's value. -func (s *LaunchPermissionConfiguration) SetUserGroups(v []*string) *LaunchPermissionConfiguration { - s.UserGroups = v +// SetUnit sets the Unit field's value. +func (s *LifecyclePolicyDetailFilter) SetUnit(v string) *LifecyclePolicyDetailFilter { + s.Unit = &v return s } -// SetUserIds sets the UserIds field's value. -func (s *LaunchPermissionConfiguration) SetUserIds(v []*string) *LaunchPermissionConfiguration { - s.UserIds = v +// SetValue sets the Value field's value. +func (s *LifecyclePolicyDetailFilter) SetValue(v int64) *LifecyclePolicyDetailFilter { + s.Value = &v return s } -// Identifies an Amazon EC2 launch template to use for a specific account. -type LaunchTemplateConfiguration struct { +// Resource selection criteria for the lifecycle policy. +type LifecyclePolicyResourceSelection struct { _ struct{} `type:"structure"` - // The account ID that this configuration applies to. - AccountId *string `locationName:"accountId" type:"string"` - - // Identifies the Amazon EC2 launch template to use. - // - // LaunchTemplateId is a required field - LaunchTemplateId *string `locationName:"launchTemplateId" type:"string" required:"true"` + // A list of recipes that are used as selection criteria for the output images + // that the lifecycle policy applies to. + Recipes []*LifecyclePolicyResourceSelectionRecipe `locationName:"recipes" min:"1" type:"list"` - // Set the specified Amazon EC2 launch template as the default launch template - // for the specified account. - SetDefaultVersion *bool `locationName:"setDefaultVersion" type:"boolean"` + // A list of tags that are used as selection criteria for the resources that + // the lifecycle policy applies to. + TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` } // String returns the string representation. @@ -17904,7 +20363,7 @@ type LaunchTemplateConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LaunchTemplateConfiguration) String() string { +func (s LifecyclePolicyResourceSelection) String() string { return awsutil.Prettify(s) } @@ -17913,15 +20372,28 @@ func (s LaunchTemplateConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LaunchTemplateConfiguration) GoString() string { +func (s LifecyclePolicyResourceSelection) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LaunchTemplateConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfiguration"} - if s.LaunchTemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("LaunchTemplateId")) +func (s *LifecyclePolicyResourceSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyResourceSelection"} + if s.Recipes != nil && len(s.Recipes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Recipes", 1)) + } + if s.TagMap != nil && len(s.TagMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) + } + if s.Recipes != nil { + for i, v := range s.Recipes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Recipes", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -17930,47 +20402,33 @@ func (s *LaunchTemplateConfiguration) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *LaunchTemplateConfiguration) SetAccountId(v string) *LaunchTemplateConfiguration { - s.AccountId = &v - return s -} - -// SetLaunchTemplateId sets the LaunchTemplateId field's value. -func (s *LaunchTemplateConfiguration) SetLaunchTemplateId(v string) *LaunchTemplateConfiguration { - s.LaunchTemplateId = &v +// SetRecipes sets the Recipes field's value. +func (s *LifecyclePolicyResourceSelection) SetRecipes(v []*LifecyclePolicyResourceSelectionRecipe) *LifecyclePolicyResourceSelection { + s.Recipes = v return s } -// SetSetDefaultVersion sets the SetDefaultVersion field's value. -func (s *LaunchTemplateConfiguration) SetSetDefaultVersion(v bool) *LaunchTemplateConfiguration { - s.SetDefaultVersion = &v +// SetTagMap sets the TagMap field's value. +func (s *LifecyclePolicyResourceSelection) SetTagMap(v map[string]*string) *LifecyclePolicyResourceSelection { + s.TagMap = v return s } -// Contains metadata from a runtime instance of a lifecycle policy. -type LifecycleExecution struct { +// Specifies an Image Builder recipe that the lifecycle policy uses for resource +// selection. +type LifecyclePolicyResourceSelectionRecipe struct { _ struct{} `type:"structure"` - // The timestamp when the lifecycle runtime instance completed. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` - - // Identifies the lifecycle policy runtime instance. - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - - // The Amazon Resource Name (ARN) of the lifecycle policy that ran. - LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` - - // Contains information about associated resources that are identified for action - // by the runtime instance of the lifecycle policy. - ResourcesImpactedSummary *LifecycleExecutionResourcesImpactedSummary `locationName:"resourcesImpactedSummary" type:"structure"` - - // The timestamp when the lifecycle runtime instance started. - StartTime *time.Time `locationName:"startTime" type:"timestamp"` + // The name of an Image Builder recipe that the lifecycle policy uses for resource + // selection. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // Runtime state that reports if the policy action ran successfully, failed, - // or was skipped. - State *LifecycleExecutionState `locationName:"state" type:"structure"` + // The version of the Image Builder recipe specified by the name field. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` } // String returns the string representation. @@ -17978,7 +20436,7 @@ type LifecycleExecution struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecution) String() string { +func (s LifecyclePolicyResourceSelectionRecipe) String() string { return awsutil.Prettify(s) } @@ -17987,82 +20445,74 @@ func (s LifecycleExecution) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecution) GoString() string { +func (s LifecyclePolicyResourceSelectionRecipe) GoString() string { return s.String() } -// SetEndTime sets the EndTime field's value. -func (s *LifecycleExecution) SetEndTime(v time.Time) *LifecycleExecution { - s.EndTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecyclePolicyResourceSelectionRecipe) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyResourceSelectionRecipe"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SemanticVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) + } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *LifecycleExecution) SetLifecycleExecutionId(v string) *LifecycleExecution { - s.LifecycleExecutionId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *LifecycleExecution) SetLifecyclePolicyArn(v string) *LifecycleExecution { - s.LifecyclePolicyArn = &v +// SetName sets the Name field's value. +func (s *LifecyclePolicyResourceSelectionRecipe) SetName(v string) *LifecyclePolicyResourceSelectionRecipe { + s.Name = &v return s } -// SetResourcesImpactedSummary sets the ResourcesImpactedSummary field's value. -func (s *LifecycleExecution) SetResourcesImpactedSummary(v *LifecycleExecutionResourcesImpactedSummary) *LifecycleExecution { - s.ResourcesImpactedSummary = v +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *LifecyclePolicyResourceSelectionRecipe) SetSemanticVersion(v string) *LifecyclePolicyResourceSelectionRecipe { + s.SemanticVersion = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *LifecycleExecution) SetStartTime(v time.Time) *LifecycleExecution { - s.StartTime = &v - return s -} +// Contains a summary of lifecycle policy resources. +type LifecyclePolicySummary struct { + _ struct{} `type:"structure"` -// SetState sets the State field's value. -func (s *LifecycleExecution) SetState(v *LifecycleExecutionState) *LifecycleExecution { - s.State = v - return s -} + // The Amazon Resource Name (ARN) of the lifecycle policy summary resource. + Arn *string `locationName:"arn" type:"string"` -// Contains details for a resource that the runtime instance of the lifecycle -// policy identified for action. -type LifecycleExecutionResource struct { - _ struct{} `type:"structure"` + // The timestamp when Image Builder created the lifecycle policy resource. + DateCreated *time.Time `locationName:"dateCreated" type:"timestamp"` + + // The timestamp for the last time Image Builder ran the lifecycle policy. + DateLastRun *time.Time `locationName:"dateLastRun" type:"timestamp"` - // The account that owns the impacted resource. - AccountId *string `locationName:"accountId" min:"1" type:"string"` + // The timestamp when Image Builder updated the lifecycle policy resource. + DateUpdated *time.Time `locationName:"dateUpdated" type:"timestamp"` - // The action to take for the identified resource. - Action *LifecycleExecutionResourceAction `locationName:"action" type:"structure"` + // Optional description for the lifecycle policy. + Description *string `locationName:"description" min:"1" type:"string"` - // For an impacted container image, this identifies a list of URIs for associated - // container images distributed to ECR repositories. - ImageUris []*string `locationName:"imageUris" type:"list"` + // The name or Amazon Resource Name (ARN) of the IAM role that Image Builder + // uses to run the lifecycle policy. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` - // The Amazon Web Services Region where the lifecycle execution resource is - // stored. - Region *string `locationName:"region" min:"1" type:"string"` + // The name of the lifecycle policy. + Name *string `locationName:"name" type:"string"` - // Identifies the impacted resource. The resource ID depends on the type of - // resource, as follows. - // - // * Image Builder image resources: Amazon Resource Name (ARN) - // - // * Distributed AMIs: AMI ID - // - // * Container images distributed to an ECR repository: image URI or SHA - // Digest - ResourceId *string `locationName:"resourceId" min:"1" type:"string"` + // The type of resources the lifecycle policy targets. + ResourceType *string `locationName:"resourceType" type:"string" enum:"LifecyclePolicyResourceType"` - // A list of associated resource snapshots for the impacted resource if it’s - // an AMI. - Snapshots []*LifecycleExecutionSnapshotResource `locationName:"snapshots" type:"list"` + // The lifecycle policy resource status. + Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` - // The runtime state for the lifecycle execution. - State *LifecycleExecutionResourceState `locationName:"state" type:"structure"` + // To help manage your lifecycle policy resources, you can assign your own metadata + // to each resource in the form of tags. Each tag consists of a key and an optional + // value, both of which you define. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -18070,7 +20520,7 @@ type LifecycleExecutionResource struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResource) String() string { +func (s LifecyclePolicySummary) String() string { return awsutil.Prettify(s) } @@ -18079,103 +20529,85 @@ func (s LifecycleExecutionResource) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResource) GoString() string { +func (s LifecyclePolicySummary) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *LifecycleExecutionResource) SetAccountId(v string) *LifecycleExecutionResource { - s.AccountId = &v +// SetArn sets the Arn field's value. +func (s *LifecyclePolicySummary) SetArn(v string) *LifecyclePolicySummary { + s.Arn = &v return s } -// SetAction sets the Action field's value. -func (s *LifecycleExecutionResource) SetAction(v *LifecycleExecutionResourceAction) *LifecycleExecutionResource { - s.Action = v +// SetDateCreated sets the DateCreated field's value. +func (s *LifecyclePolicySummary) SetDateCreated(v time.Time) *LifecyclePolicySummary { + s.DateCreated = &v return s } -// SetImageUris sets the ImageUris field's value. -func (s *LifecycleExecutionResource) SetImageUris(v []*string) *LifecycleExecutionResource { - s.ImageUris = v +// SetDateLastRun sets the DateLastRun field's value. +func (s *LifecyclePolicySummary) SetDateLastRun(v time.Time) *LifecyclePolicySummary { + s.DateLastRun = &v return s } -// SetRegion sets the Region field's value. -func (s *LifecycleExecutionResource) SetRegion(v string) *LifecycleExecutionResource { - s.Region = &v +// SetDateUpdated sets the DateUpdated field's value. +func (s *LifecyclePolicySummary) SetDateUpdated(v time.Time) *LifecyclePolicySummary { + s.DateUpdated = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *LifecycleExecutionResource) SetResourceId(v string) *LifecycleExecutionResource { - s.ResourceId = &v +// SetDescription sets the Description field's value. +func (s *LifecyclePolicySummary) SetDescription(v string) *LifecyclePolicySummary { + s.Description = &v return s } -// SetSnapshots sets the Snapshots field's value. -func (s *LifecycleExecutionResource) SetSnapshots(v []*LifecycleExecutionSnapshotResource) *LifecycleExecutionResource { - s.Snapshots = v +// SetExecutionRole sets the ExecutionRole field's value. +func (s *LifecyclePolicySummary) SetExecutionRole(v string) *LifecyclePolicySummary { + s.ExecutionRole = &v return s } -// SetState sets the State field's value. -func (s *LifecycleExecutionResource) SetState(v *LifecycleExecutionResourceState) *LifecycleExecutionResource { - s.State = v +// SetName sets the Name field's value. +func (s *LifecyclePolicySummary) SetName(v string) *LifecyclePolicySummary { + s.Name = &v return s } -// The lifecycle policy action that was identified for the impacted resource. -type LifecycleExecutionResourceAction struct { - _ struct{} `type:"structure"` - - // The name of the resource that was identified for a lifecycle policy action. - Name *string `locationName:"name" type:"string" enum:"LifecycleExecutionResourceActionName"` - - // The reason why the lifecycle policy action is taken. - Reason *string `locationName:"reason" 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 LifecycleExecutionResourceAction) 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 LifecycleExecutionResourceAction) GoString() string { - return s.String() +// SetResourceType sets the ResourceType field's value. +func (s *LifecyclePolicySummary) SetResourceType(v string) *LifecyclePolicySummary { + s.ResourceType = &v + return s } -// SetName sets the Name field's value. -func (s *LifecycleExecutionResourceAction) SetName(v string) *LifecycleExecutionResourceAction { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *LifecyclePolicySummary) SetStatus(v string) *LifecyclePolicySummary { + s.Status = &v return s } -// SetReason sets the Reason field's value. -func (s *LifecycleExecutionResourceAction) SetReason(v string) *LifecycleExecutionResourceAction { - s.Reason = &v +// SetTags sets the Tags field's value. +func (s *LifecyclePolicySummary) SetTags(v map[string]*string) *LifecyclePolicySummary { + s.Tags = v return s } -// Contains the state of an impacted resource that the runtime instance of the -// lifecycle policy identified for action. -type LifecycleExecutionResourceState struct { +type ListComponentBuildVersionsInput struct { _ struct{} `type:"structure"` - // Messaging that clarifies the reason for the assigned status. - Reason *string `locationName:"reason" min:"1" type:"string"` + // The component version Amazon Resource Name (ARN) whose versions you want + // to list. + // + // ComponentVersionArn is a required field + ComponentVersionArn *string `locationName:"componentVersionArn" type:"string" required:"true"` - // The runtime status of the lifecycle action taken for the impacted resource. - Status *string `locationName:"status" type:"string" enum:"LifecycleExecutionResourceStatus"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18183,7 +20615,7 @@ type LifecycleExecutionResourceState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResourceState) String() string { +func (s ListComponentBuildVersionsInput) String() string { return awsutil.Prettify(s) } @@ -18192,30 +20624,60 @@ func (s LifecycleExecutionResourceState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResourceState) GoString() string { +func (s ListComponentBuildVersionsInput) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *LifecycleExecutionResourceState) SetReason(v string) *LifecycleExecutionResourceState { - s.Reason = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentBuildVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentBuildVersionsInput"} + if s.ComponentVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentVersionArn")) + } + 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 +} + +// SetComponentVersionArn sets the ComponentVersionArn field's value. +func (s *ListComponentBuildVersionsInput) SetComponentVersionArn(v string) *ListComponentBuildVersionsInput { + s.ComponentVersionArn = &v return s } -// SetStatus sets the Status field's value. -func (s *LifecycleExecutionResourceState) SetStatus(v string) *LifecycleExecutionResourceState { - s.Status = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentBuildVersionsInput) SetMaxResults(v int64) *ListComponentBuildVersionsInput { + s.MaxResults = &v return s } -// Contains details for an image resource that was identified for a lifecycle -// action. -type LifecycleExecutionResourcesImpactedSummary struct { +// SetNextToken sets the NextToken field's value. +func (s *ListComponentBuildVersionsInput) SetNextToken(v string) *ListComponentBuildVersionsInput { + s.NextToken = &v + return s +} + +type ListComponentBuildVersionsOutput struct { _ struct{} `type:"structure"` - // Indicates whether an image resource that was identified for a lifecycle action - // has associated resources that are also impacted. - HasImpactedResources *bool `locationName:"hasImpactedResources" type:"boolean"` + // The list of component summaries for the specified semantic version. + ComponentSummaryList []*ComponentSummary `locationName:"componentSummaryList" type:"list"` + + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -18223,7 +20685,7 @@ type LifecycleExecutionResourcesImpactedSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResourcesImpactedSummary) String() string { +func (s ListComponentBuildVersionsOutput) String() string { return awsutil.Prettify(s) } @@ -18232,26 +20694,62 @@ func (s LifecycleExecutionResourcesImpactedSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionResourcesImpactedSummary) GoString() string { +func (s ListComponentBuildVersionsOutput) GoString() string { return s.String() } -// SetHasImpactedResources sets the HasImpactedResources field's value. -func (s *LifecycleExecutionResourcesImpactedSummary) SetHasImpactedResources(v bool) *LifecycleExecutionResourcesImpactedSummary { - s.HasImpactedResources = &v +// SetComponentSummaryList sets the ComponentSummaryList field's value. +func (s *ListComponentBuildVersionsOutput) SetComponentSummaryList(v []*ComponentSummary) *ListComponentBuildVersionsOutput { + s.ComponentSummaryList = v return s } -// Contains the state of an impacted snapshot resource that the runtime instance -// of the lifecycle policy identified for action. -type LifecycleExecutionSnapshotResource struct { +// SetNextToken sets the NextToken field's value. +func (s *ListComponentBuildVersionsOutput) SetNextToken(v string) *ListComponentBuildVersionsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListComponentBuildVersionsOutput) SetRequestId(v string) *ListComponentBuildVersionsOutput { + s.RequestId = &v + return s +} + +type ListComponentsInput struct { _ struct{} `type:"structure"` - // Identifies the impacted snapshot resource. - SnapshotId *string `locationName:"snapshotId" min:"1" type:"string"` + // Returns the list of components for the specified name. + ByName *bool `locationName:"byName" type:"boolean"` + + // Use the following filters to streamline results: + // + // * description + // + // * name + // + // * platform + // + // * supportedOsVersion + // + // * type + // + // * version + Filters []*Filter `locationName:"filters" min:"1" type:"list"` + + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The runtime status of the lifecycle action taken for the snapshot. - State *LifecycleExecutionResourceState `locationName:"state" type:"structure"` + // Filters results based on the type of owner for the component. By default, + // this request returns a list of components that your account owns. To see + // results for other types of owners, you can specify components that Amazon + // manages, third party components, or components that other accounts have shared + // with you. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -18259,7 +20757,7 @@ type LifecycleExecutionSnapshotResource struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionSnapshotResource) String() string { +func (s ListComponentsInput) String() string { return awsutil.Prettify(s) } @@ -18268,31 +20766,85 @@ func (s LifecycleExecutionSnapshotResource) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionSnapshotResource) GoString() string { +func (s ListComponentsInput) GoString() string { return s.String() } -// SetSnapshotId sets the SnapshotId field's value. -func (s *LifecycleExecutionSnapshotResource) SetSnapshotId(v string) *LifecycleExecutionSnapshotResource { - s.SnapshotId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 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 s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetByName sets the ByName field's value. +func (s *ListComponentsInput) SetByName(v bool) *ListComponentsInput { + s.ByName = &v return s } -// SetState sets the State field's value. -func (s *LifecycleExecutionSnapshotResource) SetState(v *LifecycleExecutionResourceState) *LifecycleExecutionSnapshotResource { - s.State = v +// SetFilters sets the Filters field's value. +func (s *ListComponentsInput) SetFilters(v []*Filter) *ListComponentsInput { + s.Filters = v return s } -// The current state of the runtime instance of the lifecycle policy. -type LifecycleExecutionState struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { + s.NextToken = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ListComponentsInput) SetOwner(v string) *ListComponentsInput { + s.Owner = &v + return s +} + +type ListComponentsOutput struct { _ struct{} `type:"structure"` - // The reason for the current status. - Reason *string `locationName:"reason" min:"1" type:"string"` + // The list of component semantic versions. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + ComponentVersionList []*ComponentVersion `locationName:"componentVersionList" type:"list"` - // The runtime status of the lifecycle execution. - Status *string `locationName:"status" type:"string" enum:"LifecycleExecutionStatus"` + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -18300,7 +20852,7 @@ type LifecycleExecutionState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionState) String() string { +func (s ListComponentsOutput) String() string { return awsutil.Prettify(s) } @@ -18309,64 +20861,53 @@ func (s LifecycleExecutionState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecycleExecutionState) GoString() string { +func (s ListComponentsOutput) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *LifecycleExecutionState) SetReason(v string) *LifecycleExecutionState { - s.Reason = &v +// SetComponentVersionList sets the ComponentVersionList field's value. +func (s *ListComponentsOutput) SetComponentVersionList(v []*ComponentVersion) *ListComponentsOutput { + s.ComponentVersionList = v return s } -// SetStatus sets the Status field's value. -func (s *LifecycleExecutionState) SetStatus(v string) *LifecycleExecutionState { - s.Status = &v +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { + s.NextToken = &v return s } -// The configuration details for a lifecycle policy resource. -type LifecyclePolicy struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the lifecycle policy resource. - Arn *string `locationName:"arn" type:"string"` - - // The timestamp when Image Builder created the lifecycle policy resource. - DateCreated *time.Time `locationName:"dateCreated" type:"timestamp"` - - // The timestamp for the last time Image Builder ran the lifecycle policy. - DateLastRun *time.Time `locationName:"dateLastRun" type:"timestamp"` - - // The timestamp when Image Builder updated the lifecycle policy resource. - DateUpdated *time.Time `locationName:"dateUpdated" type:"timestamp"` - - // Optional description for the lifecycle policy. - Description *string `locationName:"description" min:"1" type:"string"` - - // The name of the IAM role that Image Builder uses to run the lifecycle policy. - // This is a custom role that you create. - ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` - - // The name of the lifecycle policy. - Name *string `locationName:"name" type:"string"` +// SetRequestId sets the RequestId field's value. +func (s *ListComponentsOutput) SetRequestId(v string) *ListComponentsOutput { + s.RequestId = &v + return s +} - // The configuration details for a lifecycle policy resource. - PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list"` +type ListContainerRecipesInput struct { + _ struct{} `type:"structure"` - // Resource selection criteria used to run the lifecycle policy. - ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure"` + // Use the following filters to streamline results: + // + // * containerType + // + // * name + // + // * parentImage + // + // * platform + Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // The type of resources the lifecycle policy targets. - ResourceType *string `locationName:"resourceType" type:"string" enum:"LifecyclePolicyResourceType"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // Indicates whether the lifecycle policy resource is enabled. - Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // To help manage your lifecycle policy resources, you can assign your own metadata - // to each resource in the form of tags. Each tag consists of a key and an optional - // value, both of which you define. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // Returns container recipes belonging to the specified owner, that have been + // shared with you. You can omit this field to return container recipes belonging + // to your account. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -18374,7 +20915,7 @@ type LifecyclePolicy struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicy) String() string { +func (s ListContainerRecipesInput) String() string { return awsutil.Prettify(s) } @@ -18383,98 +20924,126 @@ func (s LifecyclePolicy) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicy) GoString() string { +func (s ListContainerRecipesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *LifecyclePolicy) SetArn(v string) *LifecyclePolicy { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListContainerRecipesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContainerRecipesInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 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 s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } -// SetDateCreated sets the DateCreated field's value. -func (s *LifecyclePolicy) SetDateCreated(v time.Time) *LifecyclePolicy { - s.DateCreated = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateLastRun sets the DateLastRun field's value. -func (s *LifecyclePolicy) SetDateLastRun(v time.Time) *LifecyclePolicy { - s.DateLastRun = &v +// SetFilters sets the Filters field's value. +func (s *ListContainerRecipesInput) SetFilters(v []*Filter) *ListContainerRecipesInput { + s.Filters = v return s } -// SetDateUpdated sets the DateUpdated field's value. -func (s *LifecyclePolicy) SetDateUpdated(v time.Time) *LifecyclePolicy { - s.DateUpdated = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListContainerRecipesInput) SetMaxResults(v int64) *ListContainerRecipesInput { + s.MaxResults = &v return s } -// SetDescription sets the Description field's value. -func (s *LifecyclePolicy) SetDescription(v string) *LifecyclePolicy { - s.Description = &v +// SetNextToken sets the NextToken field's value. +func (s *ListContainerRecipesInput) SetNextToken(v string) *ListContainerRecipesInput { + s.NextToken = &v return s } -// SetExecutionRole sets the ExecutionRole field's value. -func (s *LifecyclePolicy) SetExecutionRole(v string) *LifecyclePolicy { - s.ExecutionRole = &v +// SetOwner sets the Owner field's value. +func (s *ListContainerRecipesInput) SetOwner(v string) *ListContainerRecipesInput { + s.Owner = &v return s } -// SetName sets the Name field's value. -func (s *LifecyclePolicy) SetName(v string) *LifecyclePolicy { - s.Name = &v - return s +type ListContainerRecipesOutput struct { + _ struct{} `type:"structure"` + + // The list of container recipes returned for the request. + ContainerRecipeSummaryList []*ContainerRecipeSummary `locationName:"containerRecipeSummaryList" type:"list"` + + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetPolicyDetails sets the PolicyDetails field's value. -func (s *LifecyclePolicy) SetPolicyDetails(v []*LifecyclePolicyDetail) *LifecyclePolicy { - s.PolicyDetails = v - return s +// 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 ListContainerRecipesOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceSelection sets the ResourceSelection field's value. -func (s *LifecyclePolicy) SetResourceSelection(v *LifecyclePolicyResourceSelection) *LifecyclePolicy { - s.ResourceSelection = v - return 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 ListContainerRecipesOutput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *LifecyclePolicy) SetResourceType(v string) *LifecyclePolicy { - s.ResourceType = &v +// SetContainerRecipeSummaryList sets the ContainerRecipeSummaryList field's value. +func (s *ListContainerRecipesOutput) SetContainerRecipeSummaryList(v []*ContainerRecipeSummary) *ListContainerRecipesOutput { + s.ContainerRecipeSummaryList = v return s } -// SetStatus sets the Status field's value. -func (s *LifecyclePolicy) SetStatus(v string) *LifecyclePolicy { - s.Status = &v +// SetNextToken sets the NextToken field's value. +func (s *ListContainerRecipesOutput) SetNextToken(v string) *ListContainerRecipesOutput { + s.NextToken = &v return s } -// SetTags sets the Tags field's value. -func (s *LifecyclePolicy) SetTags(v map[string]*string) *LifecyclePolicy { - s.Tags = v +// SetRequestId sets the RequestId field's value. +func (s *ListContainerRecipesOutput) SetRequestId(v string) *ListContainerRecipesOutput { + s.RequestId = &v return s } -// The configuration details for a lifecycle policy resource. -type LifecyclePolicyDetail struct { +type ListDistributionConfigurationsInput struct { _ struct{} `type:"structure"` - // Configuration details for the policy action. - // - // Action is a required field - Action *LifecyclePolicyDetailAction `locationName:"action" type:"structure" required:"true"` + // You can filter on name to streamline results. + Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // Additional rules to specify resources that should be exempt from policy actions. - ExclusionRules *LifecyclePolicyDetailExclusionRules `locationName:"exclusionRules" type:"structure"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // Specifies the resources that the lifecycle policy applies to. - // - // Filter is a required field - Filter *LifecyclePolicyDetailFilter `locationName:"filter" type:"structure" required:"true"` + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18482,7 +21051,7 @@ type LifecyclePolicyDetail struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetail) String() string { +func (s ListDistributionConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -18491,32 +21060,30 @@ func (s LifecyclePolicyDetail) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetail) GoString() string { +func (s ListDistributionConfigurationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetail) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetail"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Filter == nil { - invalidParams.Add(request.NewErrParamRequired("Filter")) +func (s *ListDistributionConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionConfigurationsInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ExclusionRules != nil { - if err := s.ExclusionRules.Validate(); err != nil { - invalidParams.AddNested("ExclusionRules", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.Filter != nil { - if err := s.Filter.Validate(); err != nil { - invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } } } @@ -18526,35 +21093,103 @@ func (s *LifecyclePolicyDetail) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *LifecyclePolicyDetail) SetAction(v *LifecyclePolicyDetailAction) *LifecyclePolicyDetail { - s.Action = v +// SetFilters sets the Filters field's value. +func (s *ListDistributionConfigurationsInput) SetFilters(v []*Filter) *ListDistributionConfigurationsInput { + s.Filters = v return s } -// SetExclusionRules sets the ExclusionRules field's value. -func (s *LifecyclePolicyDetail) SetExclusionRules(v *LifecyclePolicyDetailExclusionRules) *LifecyclePolicyDetail { - s.ExclusionRules = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDistributionConfigurationsInput) SetMaxResults(v int64) *ListDistributionConfigurationsInput { + s.MaxResults = &v return s } -// SetFilter sets the Filter field's value. -func (s *LifecyclePolicyDetail) SetFilter(v *LifecyclePolicyDetailFilter) *LifecyclePolicyDetail { - s.Filter = v +// SetNextToken sets the NextToken field's value. +func (s *ListDistributionConfigurationsInput) SetNextToken(v string) *ListDistributionConfigurationsInput { + s.NextToken = &v return s } -// Contains selection criteria for the lifecycle policy. -type LifecyclePolicyDetailAction struct { +type ListDistributionConfigurationsOutput struct { _ struct{} `type:"structure"` - // Specifies the resources that the lifecycle policy applies to. - IncludeResources *LifecyclePolicyDetailActionIncludeResources `locationName:"includeResources" type:"structure"` + // The list of distributions. + DistributionConfigurationSummaryList []*DistributionConfigurationSummary `locationName:"distributionConfigurationSummaryList" type:"list"` - // Specifies the lifecycle action to take. + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" 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 ListDistributionConfigurationsOutput) 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 ListDistributionConfigurationsOutput) GoString() string { + return s.String() +} + +// SetDistributionConfigurationSummaryList sets the DistributionConfigurationSummaryList field's value. +func (s *ListDistributionConfigurationsOutput) SetDistributionConfigurationSummaryList(v []*DistributionConfigurationSummary) *ListDistributionConfigurationsOutput { + s.DistributionConfigurationSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDistributionConfigurationsOutput) SetNextToken(v string) *ListDistributionConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListDistributionConfigurationsOutput) SetRequestId(v string) *ListDistributionConfigurationsOutput { + s.RequestId = &v + return s +} + +type ListImageBuildVersionsInput struct { + _ struct{} `type:"structure"` + + // Use the following filters to streamline results: // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"LifecyclePolicyDetailActionType"` + // * name + // + // * osVersion + // + // * platform + // + // * type + // + // * version + Filters []*Filter `locationName:"filters" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the image whose build versions you want + // to retrieve. + // + // ImageVersionArn is a required field + ImageVersionArn *string `locationName:"imageVersionArn" type:"string" required:"true"` + + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18562,7 +21197,7 @@ type LifecyclePolicyDetailAction struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailAction) String() string { +func (s ListImageBuildVersionsInput) String() string { return awsutil.Prettify(s) } @@ -18571,15 +21206,34 @@ func (s LifecyclePolicyDetailAction) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailAction) GoString() string { +func (s ListImageBuildVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetailAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailAction"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +func (s *ListImageBuildVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImageBuildVersionsInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.ImageVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageVersionArn")) + } + 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.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -18588,31 +21242,43 @@ func (s *LifecyclePolicyDetailAction) Validate() error { return nil } -// SetIncludeResources sets the IncludeResources field's value. -func (s *LifecyclePolicyDetailAction) SetIncludeResources(v *LifecyclePolicyDetailActionIncludeResources) *LifecyclePolicyDetailAction { - s.IncludeResources = v +// SetFilters sets the Filters field's value. +func (s *ListImageBuildVersionsInput) SetFilters(v []*Filter) *ListImageBuildVersionsInput { + s.Filters = v return s } -// SetType sets the Type field's value. -func (s *LifecyclePolicyDetailAction) SetType(v string) *LifecyclePolicyDetailAction { - s.Type = &v +// SetImageVersionArn sets the ImageVersionArn field's value. +func (s *ListImageBuildVersionsInput) SetImageVersionArn(v string) *ListImageBuildVersionsInput { + s.ImageVersionArn = &v return s } -// Specifies how the lifecycle policy should apply actions to selected resources. -type LifecyclePolicyDetailActionIncludeResources struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListImageBuildVersionsInput) SetMaxResults(v int64) *ListImageBuildVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImageBuildVersionsInput) SetNextToken(v string) *ListImageBuildVersionsInput { + s.NextToken = &v + return s +} + +type ListImageBuildVersionsOutput struct { _ struct{} `type:"structure"` - // Specifies whether the lifecycle action should apply to distributed AMIs. - Amis *bool `locationName:"amis" type:"boolean"` + // The list of image build versions. + ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` - // Specifies whether the lifecycle action should apply to distributed containers. - Containers *bool `locationName:"containers" type:"boolean"` + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // Specifies whether the lifecycle action should apply to snapshots associated - // with distributed AMIs. - Snapshots *bool `locationName:"snapshots" type:"boolean"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -18620,7 +21286,7 @@ type LifecyclePolicyDetailActionIncludeResources struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailActionIncludeResources) String() string { +func (s ListImageBuildVersionsOutput) String() string { return awsutil.Prettify(s) } @@ -18629,39 +21295,43 @@ func (s LifecyclePolicyDetailActionIncludeResources) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailActionIncludeResources) GoString() string { +func (s ListImageBuildVersionsOutput) GoString() string { return s.String() } -// SetAmis sets the Amis field's value. -func (s *LifecyclePolicyDetailActionIncludeResources) SetAmis(v bool) *LifecyclePolicyDetailActionIncludeResources { - s.Amis = &v +// SetImageSummaryList sets the ImageSummaryList field's value. +func (s *ListImageBuildVersionsOutput) SetImageSummaryList(v []*ImageSummary) *ListImageBuildVersionsOutput { + s.ImageSummaryList = v return s } -// SetContainers sets the Containers field's value. -func (s *LifecyclePolicyDetailActionIncludeResources) SetContainers(v bool) *LifecyclePolicyDetailActionIncludeResources { - s.Containers = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImageBuildVersionsOutput) SetNextToken(v string) *ListImageBuildVersionsOutput { + s.NextToken = &v return s } -// SetSnapshots sets the Snapshots field's value. -func (s *LifecyclePolicyDetailActionIncludeResources) SetSnapshots(v bool) *LifecyclePolicyDetailActionIncludeResources { - s.Snapshots = &v +// SetRequestId sets the RequestId field's value. +func (s *ListImageBuildVersionsOutput) SetRequestId(v string) *ListImageBuildVersionsOutput { + s.RequestId = &v return s } -// Specifies resources that lifecycle policy actions should not apply to. -type LifecyclePolicyDetailExclusionRules struct { +type ListImagePackagesInput struct { _ struct{} `type:"structure"` - // Lists configuration values that apply to AMIs that Image Builder should exclude - // from the lifecycle action. - Amis *LifecyclePolicyDetailExclusionRulesAmis `locationName:"amis" type:"structure"` + // Filter results for the ListImagePackages request by the Image Build Version + // ARN + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` - // Contains a list of tags that Image Builder uses to skip lifecycle actions - // for AMIs that have them. - TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18669,7 +21339,7 @@ type LifecyclePolicyDetailExclusionRules struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRules) String() string { +func (s ListImagePackagesInput) String() string { return awsutil.Prettify(s) } @@ -18678,20 +21348,21 @@ func (s LifecyclePolicyDetailExclusionRules) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRules) GoString() string { +func (s ListImagePackagesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetailExclusionRules) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRules"} - if s.TagMap != nil && len(s.TagMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) +func (s *ListImagePackagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImagePackagesInput"} + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) } - if s.Amis != nil { - if err := s.Amis.Validate(); err != nil { - invalidParams.AddNested("Amis", err.(request.ErrInvalidParams)) - } + 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 { @@ -18700,40 +21371,37 @@ func (s *LifecyclePolicyDetailExclusionRules) Validate() error { return nil } -// SetAmis sets the Amis field's value. -func (s *LifecyclePolicyDetailExclusionRules) SetAmis(v *LifecyclePolicyDetailExclusionRulesAmis) *LifecyclePolicyDetailExclusionRules { - s.Amis = v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ListImagePackagesInput) SetImageBuildVersionArn(v string) *ListImagePackagesInput { + s.ImageBuildVersionArn = &v return s } -// SetTagMap sets the TagMap field's value. -func (s *LifecyclePolicyDetailExclusionRules) SetTagMap(v map[string]*string) *LifecyclePolicyDetailExclusionRules { - s.TagMap = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListImagePackagesInput) SetMaxResults(v int64) *ListImagePackagesInput { + s.MaxResults = &v return s } -// Defines criteria for AMIs that are excluded from lifecycle actions. -type LifecyclePolicyDetailExclusionRulesAmis struct { - _ struct{} `type:"structure"` - - // Configures whether public AMIs are excluded from the lifecycle action. - IsPublic *bool `locationName:"isPublic" type:"boolean"` +// SetNextToken sets the NextToken field's value. +func (s *ListImagePackagesInput) SetNextToken(v string) *ListImagePackagesInput { + s.NextToken = &v + return s +} - // Configures Amazon Web Services Regions that are excluded from the lifecycle - // action. - LastLaunched *LifecyclePolicyDetailExclusionRulesAmisLastLaunched `locationName:"lastLaunched" type:"structure"` +type ListImagePackagesOutput struct { + _ struct{} `type:"structure"` - // Specifies Amazon Web Services accounts whose resources are excluded from - // the lifecycle action. - Regions []*string `locationName:"regions" type:"list"` + // The list of Image Packages returned in the response. + ImagePackageList []*ImagePackage `locationName:"imagePackageList" type:"list"` - // Specifies configuration details for Image Builder to exclude the most recent - // resources from lifecycle actions. - SharedAccounts []*string `locationName:"sharedAccounts" min:"1" type:"list"` + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // Lists tags that should be excluded from lifecycle actions for the AMIs that - // have them. - TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -18741,7 +21409,7 @@ type LifecyclePolicyDetailExclusionRulesAmis struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRulesAmis) String() string { +func (s ListImagePackagesOutput) String() string { return awsutil.Prettify(s) } @@ -18750,77 +21418,50 @@ func (s LifecyclePolicyDetailExclusionRulesAmis) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRulesAmis) GoString() string { +func (s ListImagePackagesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetailExclusionRulesAmis) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRulesAmis"} - if s.SharedAccounts != nil && len(s.SharedAccounts) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SharedAccounts", 1)) - } - if s.TagMap != nil && len(s.TagMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) - } - if s.LastLaunched != nil { - if err := s.LastLaunched.Validate(); err != nil { - invalidParams.AddNested("LastLaunched", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetIsPublic sets the IsPublic field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmis) SetIsPublic(v bool) *LifecyclePolicyDetailExclusionRulesAmis { - s.IsPublic = &v - return s -} - -// SetLastLaunched sets the LastLaunched field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmis) SetLastLaunched(v *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) *LifecyclePolicyDetailExclusionRulesAmis { - s.LastLaunched = v - return s -} - -// SetRegions sets the Regions field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmis) SetRegions(v []*string) *LifecyclePolicyDetailExclusionRulesAmis { - s.Regions = v +// SetImagePackageList sets the ImagePackageList field's value. +func (s *ListImagePackagesOutput) SetImagePackageList(v []*ImagePackage) *ListImagePackagesOutput { + s.ImagePackageList = v return s } -// SetSharedAccounts sets the SharedAccounts field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmis) SetSharedAccounts(v []*string) *LifecyclePolicyDetailExclusionRulesAmis { - s.SharedAccounts = v +// SetNextToken sets the NextToken field's value. +func (s *ListImagePackagesOutput) SetNextToken(v string) *ListImagePackagesOutput { + s.NextToken = &v return s } -// SetTagMap sets the TagMap field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmis) SetTagMap(v map[string]*string) *LifecyclePolicyDetailExclusionRulesAmis { - s.TagMap = v +// SetRequestId sets the RequestId field's value. +func (s *ListImagePackagesOutput) SetRequestId(v string) *ListImagePackagesOutput { + s.RequestId = &v return s } -// Defines criteria to exclude AMIs from lifecycle actions based on the last -// time they were used to launch an instance. -type LifecyclePolicyDetailExclusionRulesAmisLastLaunched struct { +type ListImagePipelineImagesInput struct { _ struct{} `type:"structure"` - // Defines the unit of time that the lifecycle policy uses to calculate elapsed - // time since the last instance launched from the AMI. For example: days, weeks, - // months, or years. + // Use the following filters to streamline results: // - // Unit is a required field - Unit *string `locationName:"unit" type:"string" required:"true" enum:"LifecyclePolicyTimeUnit"` + // * name + // + // * version + Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // The integer number of units for the time period. For example 6 (months). + // The Amazon Resource Name (ARN) of the image pipeline whose images you want + // to view. // - // Value is a required field - Value *int64 `locationName:"value" min:"1" type:"integer" required:"true"` + // ImagePipelineArn is a required field + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` + + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18828,7 +21469,7 @@ type LifecyclePolicyDetailExclusionRulesAmisLastLaunched struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRulesAmisLastLaunched) String() string { +func (s ListImagePipelineImagesInput) String() string { return awsutil.Prettify(s) } @@ -18837,21 +21478,34 @@ func (s LifecyclePolicyDetailExclusionRulesAmisLastLaunched) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailExclusionRulesAmisLastLaunched) GoString() string { +func (s ListImagePipelineImagesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailExclusionRulesAmisLastLaunched"} - if s.Unit == nil { - invalidParams.Add(request.NewErrParamRequired("Unit")) +func (s *ListImagePipelineImagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImagePipelineImagesInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.ImagePipelineArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) } - if s.Value != nil && *s.Value < 1 { - invalidParams.Add(request.NewErrParamMinValue("Value", 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 s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -18860,46 +21514,43 @@ func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) Validate() error { return nil } -// SetUnit sets the Unit field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) SetUnit(v string) *LifecyclePolicyDetailExclusionRulesAmisLastLaunched { - s.Unit = &v +// SetFilters sets the Filters field's value. +func (s *ListImagePipelineImagesInput) SetFilters(v []*Filter) *ListImagePipelineImagesInput { + s.Filters = v return s } -// SetValue sets the Value field's value. -func (s *LifecyclePolicyDetailExclusionRulesAmisLastLaunched) SetValue(v int64) *LifecyclePolicyDetailExclusionRulesAmisLastLaunched { - s.Value = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *ListImagePipelineImagesInput) SetImagePipelineArn(v string) *ListImagePipelineImagesInput { + s.ImagePipelineArn = &v return s } -// Defines filters that the lifecycle policy uses to determine impacted resource. -type LifecyclePolicyDetailFilter struct { - _ struct{} `type:"structure"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListImagePipelineImagesInput) SetMaxResults(v int64) *ListImagePipelineImagesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelineImagesInput) SetNextToken(v string) *ListImagePipelineImagesInput { + s.NextToken = &v + return s +} - // For age-based filters, this is the number of resources to keep on hand after - // the lifecycle DELETE action is applied. Impacted resources are only deleted - // if you have more than this number of resources. If you have fewer resources - // than this number, the impacted resource is not deleted. - RetainAtLeast *int64 `locationName:"retainAtLeast" min:"1" type:"integer"` +type ListImagePipelineImagesOutput struct { + _ struct{} `type:"structure"` - // Filter resources based on either age or count. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"LifecyclePolicyDetailFilterType"` + // The list of images built by this pipeline. + ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` - // Defines the unit of time that the lifecycle policy uses to determine impacted - // resources. This is required for age-based rules. - Unit *string `locationName:"unit" type:"string" enum:"LifecyclePolicyTimeUnit"` + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The number of units for the time period or for the count. For example, a - // value of 6 might refer to six months or six AMIs. - // - // For count-based filters, this value represents the minimum number of resources - // to keep on hand. If you have fewer resources than this number, the resource - // is excluded from lifecycle actions. - // - // Value is a required field - Value *int64 `locationName:"value" min:"1" type:"integer" required:"true"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -18907,7 +21558,7 @@ type LifecyclePolicyDetailFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailFilter) String() string { +func (s ListImagePipelineImagesOutput) String() string { return awsutil.Prettify(s) } @@ -18916,67 +21567,52 @@ func (s LifecyclePolicyDetailFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyDetailFilter) GoString() string { +func (s ListImagePipelineImagesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyDetailFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyDetailFilter"} - if s.RetainAtLeast != nil && *s.RetainAtLeast < 1 { - invalidParams.Add(request.NewErrParamMinValue("RetainAtLeast", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - if s.Value != nil && *s.Value < 1 { - invalidParams.Add(request.NewErrParamMinValue("Value", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetRetainAtLeast sets the RetainAtLeast field's value. -func (s *LifecyclePolicyDetailFilter) SetRetainAtLeast(v int64) *LifecyclePolicyDetailFilter { - s.RetainAtLeast = &v - return s -} - -// SetType sets the Type field's value. -func (s *LifecyclePolicyDetailFilter) SetType(v string) *LifecyclePolicyDetailFilter { - s.Type = &v +// SetImageSummaryList sets the ImageSummaryList field's value. +func (s *ListImagePipelineImagesOutput) SetImageSummaryList(v []*ImageSummary) *ListImagePipelineImagesOutput { + s.ImageSummaryList = v return s } -// SetUnit sets the Unit field's value. -func (s *LifecyclePolicyDetailFilter) SetUnit(v string) *LifecyclePolicyDetailFilter { - s.Unit = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelineImagesOutput) SetNextToken(v string) *ListImagePipelineImagesOutput { + s.NextToken = &v return s } -// SetValue sets the Value field's value. -func (s *LifecyclePolicyDetailFilter) SetValue(v int64) *LifecyclePolicyDetailFilter { - s.Value = &v +// SetRequestId sets the RequestId field's value. +func (s *ListImagePipelineImagesOutput) SetRequestId(v string) *ListImagePipelineImagesOutput { + s.RequestId = &v return s } -// Resource selection criteria for the lifecycle policy. -type LifecyclePolicyResourceSelection struct { +type ListImagePipelinesInput struct { _ struct{} `type:"structure"` - // A list of recipes that are used as selection criteria for the output images - // that the lifecycle policy applies to. - Recipes []*LifecyclePolicyResourceSelectionRecipe `locationName:"recipes" min:"1" type:"list"` + // Use the following filters to streamline results: + // + // * description + // + // * distributionConfigurationArn + // + // * imageRecipeArn + // + // * infrastructureConfigurationArn + // + // * name + // + // * status + Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // A list of tags that are used as selection criteria for the resources that - // the lifecycle policy applies to. - TagMap map[string]*string `locationName:"tagMap" min:"1" type:"map"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -18984,7 +21620,7 @@ type LifecyclePolicyResourceSelection struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyResourceSelection) String() string { +func (s ListImagePipelinesInput) String() string { return awsutil.Prettify(s) } @@ -18993,26 +21629,29 @@ func (s LifecyclePolicyResourceSelection) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyResourceSelection) GoString() string { +func (s ListImagePipelinesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyResourceSelection) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyResourceSelection"} - if s.Recipes != nil && len(s.Recipes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Recipes", 1)) +func (s *ListImagePipelinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImagePipelinesInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } - if s.TagMap != nil && len(s.TagMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagMap", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.Recipes != nil { - for i, v := range s.Recipes { + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Recipes", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) } } } @@ -19023,33 +21662,37 @@ func (s *LifecyclePolicyResourceSelection) Validate() error { return nil } -// SetRecipes sets the Recipes field's value. -func (s *LifecyclePolicyResourceSelection) SetRecipes(v []*LifecyclePolicyResourceSelectionRecipe) *LifecyclePolicyResourceSelection { - s.Recipes = v +// SetFilters sets the Filters field's value. +func (s *ListImagePipelinesInput) SetFilters(v []*Filter) *ListImagePipelinesInput { + s.Filters = v return s } -// SetTagMap sets the TagMap field's value. -func (s *LifecyclePolicyResourceSelection) SetTagMap(v map[string]*string) *LifecyclePolicyResourceSelection { - s.TagMap = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListImagePipelinesInput) SetMaxResults(v int64) *ListImagePipelinesInput { + s.MaxResults = &v return s } -// Specifies an Image Builder recipe that the lifecycle policy uses for resource -// selection. -type LifecyclePolicyResourceSelectionRecipe struct { +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelinesInput) SetNextToken(v string) *ListImagePipelinesInput { + s.NextToken = &v + return s +} + +type ListImagePipelinesOutput struct { _ struct{} `type:"structure"` - // The name of an Image Builder recipe that the lifecycle policy uses for resource - // selection. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // The list of image pipelines. + ImagePipelineList []*ImagePipeline `locationName:"imagePipelineList" type:"list"` - // The version of the Image Builder recipe specified by the name field. - // - // SemanticVersion is a required field - SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -19057,7 +21700,7 @@ type LifecyclePolicyResourceSelectionRecipe struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyResourceSelectionRecipe) String() string { +func (s ListImagePipelinesOutput) String() string { return awsutil.Prettify(s) } @@ -19066,73 +21709,52 @@ func (s LifecyclePolicyResourceSelectionRecipe) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicyResourceSelectionRecipe) GoString() string { +func (s ListImagePipelinesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LifecyclePolicyResourceSelectionRecipe) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LifecyclePolicyResourceSelectionRecipe"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.SemanticVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetImagePipelineList sets the ImagePipelineList field's value. +func (s *ListImagePipelinesOutput) SetImagePipelineList(v []*ImagePipeline) *ListImagePipelinesOutput { + s.ImagePipelineList = v + return s } -// SetName sets the Name field's value. -func (s *LifecyclePolicyResourceSelectionRecipe) SetName(v string) *LifecyclePolicyResourceSelectionRecipe { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelinesOutput) SetNextToken(v string) *ListImagePipelinesOutput { + s.NextToken = &v return s } -// SetSemanticVersion sets the SemanticVersion field's value. -func (s *LifecyclePolicyResourceSelectionRecipe) SetSemanticVersion(v string) *LifecyclePolicyResourceSelectionRecipe { - s.SemanticVersion = &v +// SetRequestId sets the RequestId field's value. +func (s *ListImagePipelinesOutput) SetRequestId(v string) *ListImagePipelinesOutput { + s.RequestId = &v return s } -// Contains a summary of lifecycle policy resources. -type LifecyclePolicySummary struct { +type ListImageRecipesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the lifecycle policy summary resource. - Arn *string `locationName:"arn" type:"string"` - - // The timestamp when Image Builder created the lifecycle policy resource. - DateCreated *time.Time `locationName:"dateCreated" type:"timestamp"` - - // The timestamp for the last time Image Builder ran the lifecycle policy. - DateLastRun *time.Time `locationName:"dateLastRun" type:"timestamp"` - - // The timestamp when Image Builder updated the lifecycle policy resource. - DateUpdated *time.Time `locationName:"dateUpdated" type:"timestamp"` - - // Optional description for the lifecycle policy. - Description *string `locationName:"description" min:"1" type:"string"` - - // The name of the IAM role that Image Builder uses to run the lifecycle policy. - ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` - - // The name of the lifecycle policy. - Name *string `locationName:"name" type:"string"` + // Use the following filters to streamline results: + // + // * name + // + // * parentImage + // + // * platform + Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // The type of resources the lifecycle policy targets. - ResourceType *string `locationName:"resourceType" type:"string" enum:"LifecyclePolicyResourceType"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The lifecycle policy resource status. - Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + // A token to specify where to start paginating. This is the nextToken from + // a previously truncated response. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // To help manage your lifecycle policy resources, you can assign your own metadata - // to each resource in the form of tags. Each tag consists of a key and an optional - // value, both of which you define. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The owner defines which image recipes you want to list. By default, this + // request will only show image recipes owned by your account. You can use this + // field to specify if you want to view image recipes owned by yourself, by + // Amazon, or those image recipes that have been shared with you by other customers. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -19140,7 +21762,7 @@ type LifecyclePolicySummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicySummary) String() string { +func (s ListImageRecipesInput) String() string { return awsutil.Prettify(s) } @@ -19149,81 +21771,121 @@ func (s LifecyclePolicySummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LifecyclePolicySummary) GoString() string { +func (s ListImageRecipesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *LifecyclePolicySummary) SetArn(v string) *LifecyclePolicySummary { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListImageRecipesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImageRecipesInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 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 s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDateCreated sets the DateCreated field's value. -func (s *LifecyclePolicySummary) SetDateCreated(v time.Time) *LifecyclePolicySummary { - s.DateCreated = &v +// SetFilters sets the Filters field's value. +func (s *ListImageRecipesInput) SetFilters(v []*Filter) *ListImageRecipesInput { + s.Filters = v return s } -// SetDateLastRun sets the DateLastRun field's value. -func (s *LifecyclePolicySummary) SetDateLastRun(v time.Time) *LifecyclePolicySummary { - s.DateLastRun = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListImageRecipesInput) SetMaxResults(v int64) *ListImageRecipesInput { + s.MaxResults = &v return s } -// SetDateUpdated sets the DateUpdated field's value. -func (s *LifecyclePolicySummary) SetDateUpdated(v time.Time) *LifecyclePolicySummary { - s.DateUpdated = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImageRecipesInput) SetNextToken(v string) *ListImageRecipesInput { + s.NextToken = &v return s } -// SetDescription sets the Description field's value. -func (s *LifecyclePolicySummary) SetDescription(v string) *LifecyclePolicySummary { - s.Description = &v +// SetOwner sets the Owner field's value. +func (s *ListImageRecipesInput) SetOwner(v string) *ListImageRecipesInput { + s.Owner = &v return s } -// SetExecutionRole sets the ExecutionRole field's value. -func (s *LifecyclePolicySummary) SetExecutionRole(v string) *LifecyclePolicySummary { - s.ExecutionRole = &v - return s +type ListImageRecipesOutput struct { + _ struct{} `type:"structure"` + + // The list of image pipelines. + ImageRecipeSummaryList []*ImageRecipeSummary `locationName:"imageRecipeSummaryList" type:"list"` + + // The next token used for paginated responses. When this field isn't empty, + // there are additional elements that the service hasn't included in this request. + // Use this token with the next request to retrieve additional objects. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } -// SetName sets the Name field's value. -func (s *LifecyclePolicySummary) SetName(v string) *LifecyclePolicySummary { - s.Name = &v - return s +// 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 ListImageRecipesOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceType sets the ResourceType field's value. -func (s *LifecyclePolicySummary) SetResourceType(v string) *LifecyclePolicySummary { - s.ResourceType = &v +// 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 ListImageRecipesOutput) GoString() string { + return s.String() +} + +// SetImageRecipeSummaryList sets the ImageRecipeSummaryList field's value. +func (s *ListImageRecipesOutput) SetImageRecipeSummaryList(v []*ImageRecipeSummary) *ListImageRecipesOutput { + s.ImageRecipeSummaryList = v return s } -// SetStatus sets the Status field's value. -func (s *LifecyclePolicySummary) SetStatus(v string) *LifecyclePolicySummary { - s.Status = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImageRecipesOutput) SetNextToken(v string) *ListImageRecipesOutput { + s.NextToken = &v return s } -// SetTags sets the Tags field's value. -func (s *LifecyclePolicySummary) SetTags(v map[string]*string) *LifecyclePolicySummary { - s.Tags = v +// SetRequestId sets the RequestId field's value. +func (s *ListImageRecipesOutput) SetRequestId(v string) *ListImageRecipesOutput { + s.RequestId = &v return s } -type ListComponentBuildVersionsInput struct { +type ListImageScanFindingAggregationsInput struct { _ struct{} `type:"structure"` - // The component version Amazon Resource Name (ARN) whose versions you want - // to list. - // - // ComponentVersionArn is a required field - ComponentVersionArn *string `locationName:"componentVersionArn" type:"string" required:"true"` - - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // A filter name and value pair that is used to return a more specific list + // of results from a list operation. Filters can be used to match a set of resources + // by specific criteria, such as tags, attributes, or IDs. + Filter *Filter `locationName:"filter" type:"structure"` // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. @@ -19235,7 +21897,7 @@ type ListComponentBuildVersionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentBuildVersionsInput) String() string { +func (s ListImageScanFindingAggregationsInput) String() string { return awsutil.Prettify(s) } @@ -19244,22 +21906,21 @@ func (s ListComponentBuildVersionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentBuildVersionsInput) GoString() string { +func (s ListImageScanFindingAggregationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListComponentBuildVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComponentBuildVersionsInput"} - if s.ComponentVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentVersionArn")) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +func (s *ListImageScanFindingAggregationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImageScanFindingAggregationsInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -19267,29 +21928,39 @@ func (s *ListComponentBuildVersionsInput) Validate() error { return nil } -// SetComponentVersionArn sets the ComponentVersionArn field's value. -func (s *ListComponentBuildVersionsInput) SetComponentVersionArn(v string) *ListComponentBuildVersionsInput { - s.ComponentVersionArn = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListComponentBuildVersionsInput) SetMaxResults(v int64) *ListComponentBuildVersionsInput { - s.MaxResults = &v +// SetFilter sets the Filter field's value. +func (s *ListImageScanFindingAggregationsInput) SetFilter(v *Filter) *ListImageScanFindingAggregationsInput { + s.Filter = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentBuildVersionsInput) SetNextToken(v string) *ListComponentBuildVersionsInput { +func (s *ListImageScanFindingAggregationsInput) SetNextToken(v string) *ListImageScanFindingAggregationsInput { s.NextToken = &v return s } -type ListComponentBuildVersionsOutput struct { +type ListImageScanFindingAggregationsOutput struct { _ struct{} `type:"structure"` - // The list of component summaries for the specified semantic version. - ComponentSummaryList []*ComponentSummary `locationName:"componentSummaryList" type:"list"` + // The aggregation type specifies what type of key is used to group the image + // scan findings. Image Builder returns results based on the request filter. + // If you didn't specify a filter in the request, the type defaults to accountId. + // + // Aggregation types + // + // * accountId + // + // * imageBuildVersionArn + // + // * imagePipelineArn + // + // * vulnerabilityId + // + // Each aggregation includes counts by severity level for medium severity and + // higher level findings, plus a total for all of the findings for each key + // value. + AggregationType *string `locationName:"aggregationType" min:"1" type:"string"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -19298,6 +21969,9 @@ type ListComponentBuildVersionsOutput struct { // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` + + // An array of image scan finding aggregations that match the filter criteria. + Responses []*ImageScanFindingAggregation `locationName:"responses" type:"list"` } // String returns the string representation. @@ -19305,7 +21979,7 @@ type ListComponentBuildVersionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentBuildVersionsOutput) String() string { +func (s ListImageScanFindingAggregationsOutput) String() string { return awsutil.Prettify(s) } @@ -19314,48 +21988,50 @@ func (s ListComponentBuildVersionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentBuildVersionsOutput) GoString() string { +func (s ListImageScanFindingAggregationsOutput) GoString() string { return s.String() } -// SetComponentSummaryList sets the ComponentSummaryList field's value. -func (s *ListComponentBuildVersionsOutput) SetComponentSummaryList(v []*ComponentSummary) *ListComponentBuildVersionsOutput { - s.ComponentSummaryList = v +// SetAggregationType sets the AggregationType field's value. +func (s *ListImageScanFindingAggregationsOutput) SetAggregationType(v string) *ListImageScanFindingAggregationsOutput { + s.AggregationType = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentBuildVersionsOutput) SetNextToken(v string) *ListComponentBuildVersionsOutput { +func (s *ListImageScanFindingAggregationsOutput) SetNextToken(v string) *ListImageScanFindingAggregationsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListComponentBuildVersionsOutput) SetRequestId(v string) *ListComponentBuildVersionsOutput { +func (s *ListImageScanFindingAggregationsOutput) SetRequestId(v string) *ListImageScanFindingAggregationsOutput { s.RequestId = &v return s } -type ListComponentsInput struct { - _ struct{} `type:"structure"` +// SetResponses sets the Responses field's value. +func (s *ListImageScanFindingAggregationsOutput) SetResponses(v []*ImageScanFindingAggregation) *ListImageScanFindingAggregationsOutput { + s.Responses = v + return s +} - // Returns the list of components for the specified name. - ByName *bool `locationName:"byName" type:"boolean"` +type ListImageScanFindingsInput struct { + _ struct{} `type:"structure"` - // Use the following filters to streamline results: - // - // * description + // An array of name value pairs that you can use to filter your results. You + // can use the following filters to streamline results: // - // * name + // * imageBuildVersionArn // - // * platform + // * imagePipelineArn // - // * supportedOsVersion + // * vulnerabilityId // - // * type + // * severity // - // * version - Filters []*Filter `locationName:"filters" min:"1" type:"list"` + // If you don't request a filter, then all findings in your account are listed. + Filters []*ImageScanFindingsFilter `locationName:"filters" min:"1" type:"list"` // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -19363,13 +22039,6 @@ type ListComponentsInput struct { // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // Filters results based on the type of owner for the component. By default, - // this request returns a list of components that your account owns. To see - // results for other types of owners, you can specify components that Amazon - // manages, third party components, or components that other accounts have shared - // with you. - Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -19377,7 +22046,7 @@ type ListComponentsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsInput) String() string { +func (s ListImageScanFindingsInput) String() string { return awsutil.Prettify(s) } @@ -19386,13 +22055,13 @@ func (s ListComponentsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsInput) GoString() string { +func (s ListImageScanFindingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListComponentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} +func (s *ListImageScanFindingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImageScanFindingsInput"} if s.Filters != nil && len(s.Filters) < 1 { invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } @@ -19412,51 +22081,36 @@ func (s *ListComponentsInput) Validate() error { } } } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetByName sets the ByName field's value. -func (s *ListComponentsInput) SetByName(v bool) *ListComponentsInput { - s.ByName = &v - return s + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetFilters sets the Filters field's value. -func (s *ListComponentsInput) SetFilters(v []*Filter) *ListComponentsInput { +func (s *ListImageScanFindingsInput) SetFilters(v []*ImageScanFindingsFilter) *ListImageScanFindingsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { +func (s *ListImageScanFindingsInput) SetMaxResults(v int64) *ListImageScanFindingsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { +func (s *ListImageScanFindingsInput) SetNextToken(v string) *ListImageScanFindingsInput { s.NextToken = &v return s } -// SetOwner sets the Owner field's value. -func (s *ListComponentsInput) SetOwner(v string) *ListComponentsInput { - s.Owner = &v - return s -} - -type ListComponentsOutput struct { +type ListImageScanFindingsOutput struct { _ struct{} `type:"structure"` - // The list of component semantic versions. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - ComponentVersionList []*ComponentVersion `locationName:"componentVersionList" type:"list"` + // The image scan findings for your account that meet your request filter criteria. + Findings []*ImageScanFinding `locationName:"findings" type:"list"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -19472,7 +22126,7 @@ type ListComponentsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsOutput) String() string { +func (s ListImageScanFindingsOutput) String() string { return awsutil.Prettify(s) } @@ -19481,42 +22135,50 @@ func (s ListComponentsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsOutput) GoString() string { +func (s ListImageScanFindingsOutput) GoString() string { return s.String() } -// SetComponentVersionList sets the ComponentVersionList field's value. -func (s *ListComponentsOutput) SetComponentVersionList(v []*ComponentVersion) *ListComponentsOutput { - s.ComponentVersionList = v +// SetFindings sets the Findings field's value. +func (s *ListImageScanFindingsOutput) SetFindings(v []*ImageScanFinding) *ListImageScanFindingsOutput { + s.Findings = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { +func (s *ListImageScanFindingsOutput) SetNextToken(v string) *ListImageScanFindingsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListComponentsOutput) SetRequestId(v string) *ListComponentsOutput { +func (s *ListImageScanFindingsOutput) SetRequestId(v string) *ListImageScanFindingsOutput { s.RequestId = &v return s } -type ListContainerRecipesInput struct { +type ListImagesInput struct { _ struct{} `type:"structure"` + // Requests a list of images with a specific recipe name. + ByName *bool `locationName:"byName" type:"boolean"` + // Use the following filters to streamline results: // - // * containerType - // // * name // - // * parentImage + // * osVersion // // * platform + // + // * type + // + // * version Filters []*Filter `locationName:"filters" min:"1" type:"list"` + // Includes deprecated images in the response list. + IncludeDeprecated *bool `locationName:"includeDeprecated" type:"boolean"` + // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -19524,9 +22186,10 @@ type ListContainerRecipesInput struct { // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // Returns container recipes belonging to the specified owner, that have been - // shared with you. You can omit this field to return container recipes belonging - // to your account. + // The owner defines which images you want to list. By default, this request + // will only show images owned by your account. You can use this field to specify + // if you want to view images owned by yourself, by Amazon, or those images + // that have been shared with you by other customers. Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } @@ -19535,7 +22198,7 @@ type ListContainerRecipesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContainerRecipesInput) String() string { +func (s ListImagesInput) String() string { return awsutil.Prettify(s) } @@ -19544,13 +22207,13 @@ func (s ListContainerRecipesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContainerRecipesInput) GoString() string { +func (s ListImagesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListContainerRecipesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListContainerRecipesInput"} +func (s *ListImagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImagesInput"} if s.Filters != nil && len(s.Filters) < 1 { invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } @@ -19577,35 +22240,55 @@ func (s *ListContainerRecipesInput) Validate() error { return nil } +// SetByName sets the ByName field's value. +func (s *ListImagesInput) SetByName(v bool) *ListImagesInput { + s.ByName = &v + return s +} + // SetFilters sets the Filters field's value. -func (s *ListContainerRecipesInput) SetFilters(v []*Filter) *ListContainerRecipesInput { +func (s *ListImagesInput) SetFilters(v []*Filter) *ListImagesInput { s.Filters = v return s } +// SetIncludeDeprecated sets the IncludeDeprecated field's value. +func (s *ListImagesInput) SetIncludeDeprecated(v bool) *ListImagesInput { + s.IncludeDeprecated = &v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListContainerRecipesInput) SetMaxResults(v int64) *ListContainerRecipesInput { +func (s *ListImagesInput) SetMaxResults(v int64) *ListImagesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListContainerRecipesInput) SetNextToken(v string) *ListContainerRecipesInput { +func (s *ListImagesInput) SetNextToken(v string) *ListImagesInput { s.NextToken = &v return s } // SetOwner sets the Owner field's value. -func (s *ListContainerRecipesInput) SetOwner(v string) *ListContainerRecipesInput { +func (s *ListImagesInput) SetOwner(v string) *ListImagesInput { s.Owner = &v return s } -type ListContainerRecipesOutput struct { +type ListImagesOutput struct { _ struct{} `type:"structure"` - // The list of container recipes returned for the request. - ContainerRecipeSummaryList []*ContainerRecipeSummary `locationName:"containerRecipeSummaryList" type:"list"` + // The list of image semantic versions. + // + // The semantic version has four nodes: ../. You + // can assign values for the first three, and can filter on all of them. + // + // Filtering: With semantic versioning, you have the flexibility to use wildcards + // (x) to specify the most recent versions or nodes when selecting the base + // image or components for your recipe. When you use a wildcard in any node, + // all nodes to the right of the first wildcard must also be wildcards. + ImageVersionList []*ImageVersion `locationName:"imageVersionList" type:"list"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -19621,7 +22304,7 @@ type ListContainerRecipesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContainerRecipesOutput) String() string { +func (s ListImagesOutput) String() string { return awsutil.Prettify(s) } @@ -19630,29 +22313,29 @@ func (s ListContainerRecipesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContainerRecipesOutput) GoString() string { +func (s ListImagesOutput) GoString() string { return s.String() } -// SetContainerRecipeSummaryList sets the ContainerRecipeSummaryList field's value. -func (s *ListContainerRecipesOutput) SetContainerRecipeSummaryList(v []*ContainerRecipeSummary) *ListContainerRecipesOutput { - s.ContainerRecipeSummaryList = v +// SetImageVersionList sets the ImageVersionList field's value. +func (s *ListImagesOutput) SetImageVersionList(v []*ImageVersion) *ListImagesOutput { + s.ImageVersionList = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListContainerRecipesOutput) SetNextToken(v string) *ListContainerRecipesOutput { +func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListContainerRecipesOutput) SetRequestId(v string) *ListContainerRecipesOutput { +func (s *ListImagesOutput) SetRequestId(v string) *ListImagesOutput { s.RequestId = &v return s } -type ListDistributionConfigurationsInput struct { +type ListInfrastructureConfigurationsInput struct { _ struct{} `type:"structure"` // You can filter on name to streamline results. @@ -19671,7 +22354,7 @@ type ListDistributionConfigurationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDistributionConfigurationsInput) String() string { +func (s ListInfrastructureConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -19680,13 +22363,13 @@ func (s ListDistributionConfigurationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDistributionConfigurationsInput) GoString() string { +func (s ListInfrastructureConfigurationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDistributionConfigurationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDistributionConfigurationsInput"} +func (s *ListInfrastructureConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInfrastructureConfigurationsInput"} if s.Filters != nil && len(s.Filters) < 1 { invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } @@ -19714,28 +22397,28 @@ func (s *ListDistributionConfigurationsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListDistributionConfigurationsInput) SetFilters(v []*Filter) *ListDistributionConfigurationsInput { +func (s *ListInfrastructureConfigurationsInput) SetFilters(v []*Filter) *ListInfrastructureConfigurationsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDistributionConfigurationsInput) SetMaxResults(v int64) *ListDistributionConfigurationsInput { +func (s *ListInfrastructureConfigurationsInput) SetMaxResults(v int64) *ListInfrastructureConfigurationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDistributionConfigurationsInput) SetNextToken(v string) *ListDistributionConfigurationsInput { +func (s *ListInfrastructureConfigurationsInput) SetNextToken(v string) *ListInfrastructureConfigurationsInput { s.NextToken = &v return s } -type ListDistributionConfigurationsOutput struct { +type ListInfrastructureConfigurationsOutput struct { _ struct{} `type:"structure"` - // The list of distributions. - DistributionConfigurationSummaryList []*DistributionConfigurationSummary `locationName:"distributionConfigurationSummaryList" type:"list"` + // The list of infrastructure configurations. + InfrastructureConfigurationSummaryList []*InfrastructureConfigurationSummary `locationName:"infrastructureConfigurationSummaryList" type:"list"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -19751,7 +22434,7 @@ type ListDistributionConfigurationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDistributionConfigurationsOutput) String() string { +func (s ListInfrastructureConfigurationsOutput) String() string { return awsutil.Prettify(s) } @@ -19760,49 +22443,36 @@ func (s ListDistributionConfigurationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDistributionConfigurationsOutput) GoString() string { +func (s ListInfrastructureConfigurationsOutput) GoString() string { return s.String() } -// SetDistributionConfigurationSummaryList sets the DistributionConfigurationSummaryList field's value. -func (s *ListDistributionConfigurationsOutput) SetDistributionConfigurationSummaryList(v []*DistributionConfigurationSummary) *ListDistributionConfigurationsOutput { - s.DistributionConfigurationSummaryList = v +// SetInfrastructureConfigurationSummaryList sets the InfrastructureConfigurationSummaryList field's value. +func (s *ListInfrastructureConfigurationsOutput) SetInfrastructureConfigurationSummaryList(v []*InfrastructureConfigurationSummary) *ListInfrastructureConfigurationsOutput { + s.InfrastructureConfigurationSummaryList = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDistributionConfigurationsOutput) SetNextToken(v string) *ListDistributionConfigurationsOutput { +func (s *ListInfrastructureConfigurationsOutput) SetNextToken(v string) *ListInfrastructureConfigurationsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDistributionConfigurationsOutput) SetRequestId(v string) *ListDistributionConfigurationsOutput { +func (s *ListInfrastructureConfigurationsOutput) SetRequestId(v string) *ListInfrastructureConfigurationsOutput { s.RequestId = &v return s } -type ListImageBuildVersionsInput struct { +type ListLifecycleExecutionResourcesInput struct { _ struct{} `type:"structure"` - // Use the following filters to streamline results: - // - // * name - // - // * osVersion - // - // * platform - // - // * type - // - // * version - Filters []*Filter `locationName:"filters" min:"1" type:"list"` - - // The Amazon Resource Name (ARN) of the image whose build versions you want - // to retrieve. + // Use the unique identifier for a runtime instance of the lifecycle policy + // to get runtime details. // - // ImageVersionArn is a required field - ImageVersionArn *string `locationName:"imageVersionArn" type:"string" required:"true"` + // LifecycleExecutionId is a required field + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string" required:"true"` // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -19810,6 +22480,15 @@ type ListImageBuildVersionsInput struct { // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // You can leave this empty to get a list of Image Builder resources that were + // identified for lifecycle actions. + // + // To get a list of associated resources that are impacted for an individual + // resource (the parent), specify its Amazon Resource Name (ARN). Associated + // resources are produced from your image and distributed when you run a build, + // such as AMIs or container images stored in ECR repositories. + ParentResourceId *string `locationName:"parentResourceId" min:"1" type:"string"` } // String returns the string representation. @@ -19817,7 +22496,7 @@ type ListImageBuildVersionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageBuildVersionsInput) String() string { +func (s ListLifecycleExecutionResourcesInput) String() string { return awsutil.Prettify(s) } @@ -19826,18 +22505,15 @@ func (s ListImageBuildVersionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageBuildVersionsInput) GoString() string { +func (s ListLifecycleExecutionResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImageBuildVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImageBuildVersionsInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) - } - if s.ImageVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageVersionArn")) +func (s *ListLifecycleExecutionResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLifecycleExecutionResourcesInput"} + if s.LifecycleExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -19845,15 +22521,8 @@ func (s *ListImageBuildVersionsInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.ParentResourceId != nil && len(*s.ParentResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentResourceId", 1)) } if invalidParams.Len() > 0 { @@ -19862,43 +22531,46 @@ func (s *ListImageBuildVersionsInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListImageBuildVersionsInput) SetFilters(v []*Filter) *ListImageBuildVersionsInput { - s.Filters = v - return s -} - -// SetImageVersionArn sets the ImageVersionArn field's value. -func (s *ListImageBuildVersionsInput) SetImageVersionArn(v string) *ListImageBuildVersionsInput { - s.ImageVersionArn = &v +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *ListLifecycleExecutionResourcesInput) SetLifecycleExecutionId(v string) *ListLifecycleExecutionResourcesInput { + s.LifecycleExecutionId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListImageBuildVersionsInput) SetMaxResults(v int64) *ListImageBuildVersionsInput { +func (s *ListLifecycleExecutionResourcesInput) SetMaxResults(v int64) *ListLifecycleExecutionResourcesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageBuildVersionsInput) SetNextToken(v string) *ListImageBuildVersionsInput { +func (s *ListLifecycleExecutionResourcesInput) SetNextToken(v string) *ListLifecycleExecutionResourcesInput { s.NextToken = &v return s } -type ListImageBuildVersionsOutput struct { +// SetParentResourceId sets the ParentResourceId field's value. +func (s *ListLifecycleExecutionResourcesInput) SetParentResourceId(v string) *ListLifecycleExecutionResourcesInput { + s.ParentResourceId = &v + return s +} + +type ListLifecycleExecutionResourcesOutput struct { _ struct{} `type:"structure"` - // The list of image build versions. - ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` + // Runtime details for the specified runtime instance of the lifecycle policy. + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` + + // The current state of the lifecycle runtime instance. + LifecycleExecutionState *LifecycleExecutionState `locationName:"lifecycleExecutionState" type:"structure"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // A list of resources that were identified for lifecycle actions. + Resources []*LifecycleExecutionResource `locationName:"resources" type:"list"` } // String returns the string representation. @@ -19906,7 +22578,7 @@ type ListImageBuildVersionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageBuildVersionsOutput) String() string { +func (s ListLifecycleExecutionResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -19915,43 +22587,49 @@ func (s ListImageBuildVersionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageBuildVersionsOutput) GoString() string { +func (s ListLifecycleExecutionResourcesOutput) GoString() string { return s.String() } -// SetImageSummaryList sets the ImageSummaryList field's value. -func (s *ListImageBuildVersionsOutput) SetImageSummaryList(v []*ImageSummary) *ListImageBuildVersionsOutput { - s.ImageSummaryList = v +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *ListLifecycleExecutionResourcesOutput) SetLifecycleExecutionId(v string) *ListLifecycleExecutionResourcesOutput { + s.LifecycleExecutionId = &v + return s +} + +// SetLifecycleExecutionState sets the LifecycleExecutionState field's value. +func (s *ListLifecycleExecutionResourcesOutput) SetLifecycleExecutionState(v *LifecycleExecutionState) *ListLifecycleExecutionResourcesOutput { + s.LifecycleExecutionState = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageBuildVersionsOutput) SetNextToken(v string) *ListImageBuildVersionsOutput { +func (s *ListLifecycleExecutionResourcesOutput) SetNextToken(v string) *ListLifecycleExecutionResourcesOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListImageBuildVersionsOutput) SetRequestId(v string) *ListImageBuildVersionsOutput { - s.RequestId = &v +// SetResources sets the Resources field's value. +func (s *ListLifecycleExecutionResourcesOutput) SetResources(v []*LifecycleExecutionResource) *ListLifecycleExecutionResourcesOutput { + s.Resources = v return s } -type ListImagePackagesInput struct { +type ListLifecycleExecutionsInput struct { _ struct{} `type:"structure"` - // Filter results for the ListImagePackages request by the Image Build Version - // ARN - // - // ImageBuildVersionArn is a required field - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` - // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the resource for which to get a list of + // lifecycle runtime instances. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation. @@ -19959,7 +22637,7 @@ type ListImagePackagesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePackagesInput) String() string { +func (s ListLifecycleExecutionsInput) String() string { return awsutil.Prettify(s) } @@ -19968,22 +22646,22 @@ func (s ListImagePackagesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePackagesInput) GoString() string { +func (s ListLifecycleExecutionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImagePackagesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImagePackagesInput"} - if s.ImageBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) - } +func (s *ListLifecycleExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLifecycleExecutionsInput"} 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } if invalidParams.Len() > 0 { return invalidParams @@ -19991,37 +22669,34 @@ func (s *ListImagePackagesInput) Validate() error { return nil } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ListImagePackagesInput) SetImageBuildVersionArn(v string) *ListImagePackagesInput { - s.ImageBuildVersionArn = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListImagePackagesInput) SetMaxResults(v int64) *ListImagePackagesInput { +func (s *ListLifecycleExecutionsInput) SetMaxResults(v int64) *ListLifecycleExecutionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagePackagesInput) SetNextToken(v string) *ListImagePackagesInput { +func (s *ListLifecycleExecutionsInput) SetNextToken(v string) *ListLifecycleExecutionsInput { s.NextToken = &v return s } -type ListImagePackagesOutput struct { +// SetResourceArn sets the ResourceArn field's value. +func (s *ListLifecycleExecutionsInput) SetResourceArn(v string) *ListLifecycleExecutionsInput { + s.ResourceArn = &v + return s +} + +type ListLifecycleExecutionsOutput struct { _ struct{} `type:"structure"` - // The list of Image Packages returned in the response. - ImagePackageList []*ImagePackage `locationName:"imagePackageList" type:"list"` + // A list of lifecycle runtime instances for the specified resource. + LifecycleExecutions []*LifecycleExecution `locationName:"lifecycleExecutions" type:"list"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -20029,7 +22704,7 @@ type ListImagePackagesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePackagesOutput) String() string { +func (s ListLifecycleExecutionsOutput) String() string { return awsutil.Prettify(s) } @@ -20038,44 +22713,28 @@ func (s ListImagePackagesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePackagesOutput) GoString() string { +func (s ListLifecycleExecutionsOutput) GoString() string { return s.String() } -// SetImagePackageList sets the ImagePackageList field's value. -func (s *ListImagePackagesOutput) SetImagePackageList(v []*ImagePackage) *ListImagePackagesOutput { - s.ImagePackageList = v +// SetLifecycleExecutions sets the LifecycleExecutions field's value. +func (s *ListLifecycleExecutionsOutput) SetLifecycleExecutions(v []*LifecycleExecution) *ListLifecycleExecutionsOutput { + s.LifecycleExecutions = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagePackagesOutput) SetNextToken(v string) *ListImagePackagesOutput { +func (s *ListLifecycleExecutionsOutput) SetNextToken(v string) *ListLifecycleExecutionsOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListImagePackagesOutput) SetRequestId(v string) *ListImagePackagesOutput { - s.RequestId = &v - return s -} - -type ListImagePipelineImagesInput struct { +type ListLifecyclePoliciesInput struct { _ struct{} `type:"structure"` - // Use the following filters to streamline results: - // - // * name - // - // * version + // Streamline results based on one of the following values: Name, Status. Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // The Amazon Resource Name (ARN) of the image pipeline whose images you want - // to view. - // - // ImagePipelineArn is a required field - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` - // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -20089,7 +22748,7 @@ type ListImagePipelineImagesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelineImagesInput) String() string { +func (s ListLifecyclePoliciesInput) String() string { return awsutil.Prettify(s) } @@ -20098,19 +22757,16 @@ func (s ListImagePipelineImagesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelineImagesInput) GoString() string { +func (s ListLifecyclePoliciesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImagePipelineImagesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImagePipelineImagesInput"} +func (s *ListLifecyclePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLifecyclePoliciesInput"} if s.Filters != nil && len(s.Filters) < 1 { invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } - if s.ImagePipelineArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) - } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -20135,42 +22791,34 @@ func (s *ListImagePipelineImagesInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListImagePipelineImagesInput) SetFilters(v []*Filter) *ListImagePipelineImagesInput { +func (s *ListLifecyclePoliciesInput) SetFilters(v []*Filter) *ListLifecyclePoliciesInput { s.Filters = v return s } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *ListImagePipelineImagesInput) SetImagePipelineArn(v string) *ListImagePipelineImagesInput { - s.ImagePipelineArn = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListImagePipelineImagesInput) SetMaxResults(v int64) *ListImagePipelineImagesInput { +func (s *ListLifecyclePoliciesInput) SetMaxResults(v int64) *ListLifecyclePoliciesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagePipelineImagesInput) SetNextToken(v string) *ListImagePipelineImagesInput { +func (s *ListLifecyclePoliciesInput) SetNextToken(v string) *ListLifecyclePoliciesInput { s.NextToken = &v return s } -type ListImagePipelineImagesOutput struct { +type ListLifecyclePoliciesOutput struct { _ struct{} `type:"structure"` - // The list of images built by this pipeline. - ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` + // A list of lifecycle policies in your Amazon Web Services account that meet + // the criteria specified in the request. + LifecyclePolicySummaryList []*LifecyclePolicySummary `locationName:"lifecyclePolicySummaryList" type:"list"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -20178,7 +22826,7 @@ type ListImagePipelineImagesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelineImagesOutput) String() string { +func (s ListLifecyclePoliciesOutput) String() string { return awsutil.Prettify(s) } @@ -20187,52 +22835,29 @@ func (s ListImagePipelineImagesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelineImagesOutput) GoString() string { +func (s ListLifecyclePoliciesOutput) GoString() string { return s.String() } -// SetImageSummaryList sets the ImageSummaryList field's value. -func (s *ListImagePipelineImagesOutput) SetImageSummaryList(v []*ImageSummary) *ListImagePipelineImagesOutput { - s.ImageSummaryList = v +// SetLifecyclePolicySummaryList sets the LifecyclePolicySummaryList field's value. +func (s *ListLifecyclePoliciesOutput) SetLifecyclePolicySummaryList(v []*LifecyclePolicySummary) *ListLifecyclePoliciesOutput { + s.LifecyclePolicySummaryList = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagePipelineImagesOutput) SetNextToken(v string) *ListImagePipelineImagesOutput { +func (s *ListLifecyclePoliciesOutput) SetNextToken(v string) *ListLifecyclePoliciesOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListImagePipelineImagesOutput) SetRequestId(v string) *ListImagePipelineImagesOutput { - s.RequestId = &v - return s -} - -type ListImagePipelinesInput struct { - _ struct{} `type:"structure"` +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // Use the following filters to streamline results: - // - // * description - // - // * distributionConfigurationArn - // - // * imageRecipeArn - // - // * infrastructureConfigurationArn - // - // * name + // The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve. // - // * status - Filters []*Filter `locationName:"filters" min:"1" type:"list"` - - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation. @@ -20240,7 +22865,7 @@ type ListImagePipelinesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelinesInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -20249,31 +22874,18 @@ func (s ListImagePipelinesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelinesInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImagePipelinesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImagePipelinesInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 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)) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -20282,37 +22894,17 @@ func (s *ListImagePipelinesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListImagePipelinesInput) SetFilters(v []*Filter) *ListImagePipelinesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListImagePipelinesInput) SetMaxResults(v int64) *ListImagePipelinesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListImagePipelinesInput) SetNextToken(v string) *ListImagePipelinesInput { - s.NextToken = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -type ListImagePipelinesOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The list of image pipelines. - ImagePipelineList []*ImagePipeline `locationName:"imagePipelineList" type:"list"` - - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The tags for the specified resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -20320,7 +22912,7 @@ type ListImagePipelinesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelinesOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -20329,52 +22921,25 @@ func (s ListImagePipelinesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagePipelinesOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetImagePipelineList sets the ImagePipelineList field's value. -func (s *ListImagePipelinesOutput) SetImagePipelineList(v []*ImagePipeline) *ListImagePipelinesOutput { - s.ImagePipelineList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListImagePipelinesOutput) SetNextToken(v string) *ListImagePipelinesOutput { - s.NextToken = &v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *ListImagePipelinesOutput) SetRequestId(v string) *ListImagePipelinesOutput { - s.RequestId = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListImageRecipesInput struct { +type ListWaitingWorkflowStepsInput struct { _ struct{} `type:"structure"` - // Use the following filters to streamline results: - // - // * name - // - // * parentImage - // - // * platform - Filters []*Filter `locationName:"filters" min:"1" type:"list"` - // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The owner defines which image recipes you want to list. By default, this - // request will only show image recipes owned by your account. You can use this - // field to specify if you want to view image recipes owned by yourself, by - // Amazon, or those image recipes that have been shared with you by other customers. - Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -20382,7 +22947,7 @@ type ListImageRecipesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageRecipesInput) String() string { +func (s ListWaitingWorkflowStepsInput) String() string { return awsutil.Prettify(s) } @@ -20391,32 +22956,19 @@ func (s ListImageRecipesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageRecipesInput) GoString() string { +func (s ListWaitingWorkflowStepsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImageRecipesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImageRecipesInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) - } +func (s *ListWaitingWorkflowStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWaitingWorkflowStepsInput"} 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.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -20424,43 +22976,29 @@ func (s *ListImageRecipesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListImageRecipesInput) SetFilters(v []*Filter) *ListImageRecipesInput { - s.Filters = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListImageRecipesInput) SetMaxResults(v int64) *ListImageRecipesInput { +func (s *ListWaitingWorkflowStepsInput) SetMaxResults(v int64) *ListWaitingWorkflowStepsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageRecipesInput) SetNextToken(v string) *ListImageRecipesInput { +func (s *ListWaitingWorkflowStepsInput) SetNextToken(v string) *ListWaitingWorkflowStepsInput { s.NextToken = &v return s } -// SetOwner sets the Owner field's value. -func (s *ListImageRecipesInput) SetOwner(v string) *ListImageRecipesInput { - s.Owner = &v - return s -} - -type ListImageRecipesOutput struct { +type ListWaitingWorkflowStepsOutput struct { _ struct{} `type:"structure"` - // The list of image pipelines. - ImageRecipeSummaryList []*ImageRecipeSummary `locationName:"imageRecipeSummaryList" type:"list"` - // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // An array of the workflow steps that are waiting for action in your Amazon + // Web Services account. + Steps []*WorkflowStepExecution `locationName:"steps" type:"list"` } // String returns the string representation. @@ -20468,7 +23006,7 @@ type ListImageRecipesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageRecipesOutput) String() string { +func (s ListWaitingWorkflowStepsOutput) String() string { return awsutil.Prettify(s) } @@ -20477,39 +23015,37 @@ func (s ListImageRecipesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageRecipesOutput) GoString() string { +func (s ListWaitingWorkflowStepsOutput) GoString() string { return s.String() } -// SetImageRecipeSummaryList sets the ImageRecipeSummaryList field's value. -func (s *ListImageRecipesOutput) SetImageRecipeSummaryList(v []*ImageRecipeSummary) *ListImageRecipesOutput { - s.ImageRecipeSummaryList = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListImageRecipesOutput) SetNextToken(v string) *ListImageRecipesOutput { +func (s *ListWaitingWorkflowStepsOutput) SetNextToken(v string) *ListWaitingWorkflowStepsOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListImageRecipesOutput) SetRequestId(v string) *ListImageRecipesOutput { - s.RequestId = &v +// SetSteps sets the Steps field's value. +func (s *ListWaitingWorkflowStepsOutput) SetSteps(v []*WorkflowStepExecution) *ListWaitingWorkflowStepsOutput { + s.Steps = v return s } -type ListImageScanFindingAggregationsInput struct { +type ListWorkflowBuildVersionsInput struct { _ struct{} `type:"structure"` - // A filter name and value pair that is used to return a more specific list - // of results from a list operation. Filters can be used to match a set of resources - // by specific criteria, such as tags, attributes, or IDs. - Filter *Filter `locationName:"filter" type:"structure"` + // The maximum items to return in a request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the workflow resource for which to get + // a list of build versions. + // + // WorkflowVersionArn is a required field + WorkflowVersionArn *string `locationName:"workflowVersionArn" type:"string" required:"true"` } // String returns the string representation. @@ -20517,7 +23053,7 @@ type ListImageScanFindingAggregationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingAggregationsInput) String() string { +func (s ListWorkflowBuildVersionsInput) String() string { return awsutil.Prettify(s) } @@ -20526,20 +23062,21 @@ func (s ListImageScanFindingAggregationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingAggregationsInput) GoString() string { +func (s ListWorkflowBuildVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImageScanFindingAggregationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImageScanFindingAggregationsInput"} +func (s *ListWorkflowBuildVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowBuildVersionsInput"} + 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.Filter != nil { - if err := s.Filter.Validate(); err != nil { - invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) - } + if s.WorkflowVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowVersionArn")) } if invalidParams.Len() > 0 { @@ -20548,50 +23085,35 @@ func (s *ListImageScanFindingAggregationsInput) Validate() error { return nil } -// SetFilter sets the Filter field's value. -func (s *ListImageScanFindingAggregationsInput) SetFilter(v *Filter) *ListImageScanFindingAggregationsInput { - s.Filter = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkflowBuildVersionsInput) SetMaxResults(v int64) *ListWorkflowBuildVersionsInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageScanFindingAggregationsInput) SetNextToken(v string) *ListImageScanFindingAggregationsInput { +func (s *ListWorkflowBuildVersionsInput) SetNextToken(v string) *ListWorkflowBuildVersionsInput { s.NextToken = &v return s } -type ListImageScanFindingAggregationsOutput struct { - _ struct{} `type:"structure"` +// SetWorkflowVersionArn sets the WorkflowVersionArn field's value. +func (s *ListWorkflowBuildVersionsInput) SetWorkflowVersionArn(v string) *ListWorkflowBuildVersionsInput { + s.WorkflowVersionArn = &v + return s +} - // The aggregation type specifies what type of key is used to group the image - // scan findings. Image Builder returns results based on the request filter. - // If you didn't specify a filter in the request, the type defaults to accountId. - // - // Aggregation types - // - // * accountId - // - // * imageBuildVersionArn - // - // * imagePipelineArn - // - // * vulnerabilityId - // - // Each aggregation includes counts by severity level for medium severity and - // higher level findings, plus a total for all of the findings for each key - // value. - AggregationType *string `locationName:"aggregationType" min:"1" type:"string"` +type ListWorkflowBuildVersionsOutput struct { + _ struct{} `type:"structure"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` - - // An array of image scan finding aggregations that match the filter criteria. - Responses []*ImageScanFindingAggregation `locationName:"responses" type:"list"` + // A list that contains metadata for the workflow builds that have run for the + // workflow resource specified in the request. + WorkflowSummaryList []*WorkflowSummary `locationName:"workflowSummaryList" type:"list"` } // String returns the string representation. @@ -20599,7 +23121,7 @@ type ListImageScanFindingAggregationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingAggregationsOutput) String() string { +func (s ListWorkflowBuildVersionsOutput) String() string { return awsutil.Prettify(s) } @@ -20608,50 +23130,30 @@ func (s ListImageScanFindingAggregationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingAggregationsOutput) GoString() string { +func (s ListWorkflowBuildVersionsOutput) GoString() string { return s.String() } -// SetAggregationType sets the AggregationType field's value. -func (s *ListImageScanFindingAggregationsOutput) SetAggregationType(v string) *ListImageScanFindingAggregationsOutput { - s.AggregationType = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListImageScanFindingAggregationsOutput) SetNextToken(v string) *ListImageScanFindingAggregationsOutput { +func (s *ListWorkflowBuildVersionsOutput) SetNextToken(v string) *ListWorkflowBuildVersionsOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListImageScanFindingAggregationsOutput) SetRequestId(v string) *ListImageScanFindingAggregationsOutput { - s.RequestId = &v - return s -} - -// SetResponses sets the Responses field's value. -func (s *ListImageScanFindingAggregationsOutput) SetResponses(v []*ImageScanFindingAggregation) *ListImageScanFindingAggregationsOutput { - s.Responses = v +// SetWorkflowSummaryList sets the WorkflowSummaryList field's value. +func (s *ListWorkflowBuildVersionsOutput) SetWorkflowSummaryList(v []*WorkflowSummary) *ListWorkflowBuildVersionsOutput { + s.WorkflowSummaryList = v return s } -type ListImageScanFindingsInput struct { +type ListWorkflowExecutionsInput struct { _ struct{} `type:"structure"` - // An array of name value pairs that you can use to filter your results. You - // can use the following filters to streamline results: - // - // * imageBuildVersionArn - // - // * imagePipelineArn - // - // * vulnerabilityId - // - // * severity + // List all workflow runtime instances for the specified image build version + // resource ARN. // - // If you don't request a filter, then all findings in your account are listed. - Filters []*ImageScanFindingsFilter `locationName:"filters" min:"1" type:"list"` + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -20666,7 +23168,7 @@ type ListImageScanFindingsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingsInput) String() string { +func (s ListWorkflowExecutionsInput) String() string { return awsutil.Prettify(s) } @@ -20675,15 +23177,15 @@ func (s ListImageScanFindingsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingsInput) GoString() string { +func (s ListWorkflowExecutionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImageScanFindingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImageScanFindingsInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) +func (s *ListWorkflowExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowExecutionsInput"} + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) @@ -20691,16 +23193,6 @@ func (s *ListImageScanFindingsInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -20708,29 +23200,33 @@ func (s *ListImageScanFindingsInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListImageScanFindingsInput) SetFilters(v []*ImageScanFindingsFilter) *ListImageScanFindingsInput { - s.Filters = v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ListWorkflowExecutionsInput) SetImageBuildVersionArn(v string) *ListWorkflowExecutionsInput { + s.ImageBuildVersionArn = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListImageScanFindingsInput) SetMaxResults(v int64) *ListImageScanFindingsInput { +func (s *ListWorkflowExecutionsInput) SetMaxResults(v int64) *ListWorkflowExecutionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageScanFindingsInput) SetNextToken(v string) *ListImageScanFindingsInput { +func (s *ListWorkflowExecutionsInput) SetNextToken(v string) *ListWorkflowExecutionsInput { s.NextToken = &v return s } -type ListImageScanFindingsOutput struct { +type ListWorkflowExecutionsOutput struct { _ struct{} `type:"structure"` - // The image scan findings for your account that meet your request filter criteria. - Findings []*ImageScanFinding `locationName:"findings" type:"list"` + // The resource ARN of the image build version for which you requested a list + // of workflow runtime details. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The output message from the list action, if applicable. + Message *string `locationName:"message" type:"string"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -20739,6 +23235,10 @@ type ListImageScanFindingsOutput struct { // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` + + // Contains an array of runtime details that represents each time a workflow + // ran for the requested image build version. + WorkflowExecutions []*WorkflowExecutionMetadata `locationName:"workflowExecutions" type:"list"` } // String returns the string representation. @@ -20746,7 +23246,7 @@ type ListImageScanFindingsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingsOutput) String() string { +func (s ListWorkflowExecutionsOutput) String() string { return awsutil.Prettify(s) } @@ -20755,49 +23255,42 @@ func (s ListImageScanFindingsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImageScanFindingsOutput) GoString() string { +func (s ListWorkflowExecutionsOutput) GoString() string { return s.String() } -// SetFindings sets the Findings field's value. -func (s *ListImageScanFindingsOutput) SetFindings(v []*ImageScanFinding) *ListImageScanFindingsOutput { - s.Findings = v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ListWorkflowExecutionsOutput) SetImageBuildVersionArn(v string) *ListWorkflowExecutionsOutput { + s.ImageBuildVersionArn = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ListWorkflowExecutionsOutput) SetMessage(v string) *ListWorkflowExecutionsOutput { + s.Message = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImageScanFindingsOutput) SetNextToken(v string) *ListImageScanFindingsOutput { +func (s *ListWorkflowExecutionsOutput) SetNextToken(v string) *ListWorkflowExecutionsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListImageScanFindingsOutput) SetRequestId(v string) *ListImageScanFindingsOutput { +func (s *ListWorkflowExecutionsOutput) SetRequestId(v string) *ListWorkflowExecutionsOutput { s.RequestId = &v return s } -type ListImagesInput struct { - _ struct{} `type:"structure"` - - // Requests a list of images with a specific recipe name. - ByName *bool `locationName:"byName" type:"boolean"` - - // Use the following filters to streamline results: - // - // * name - // - // * osVersion - // - // * platform - // - // * type - // - // * version - Filters []*Filter `locationName:"filters" min:"1" type:"list"` +// SetWorkflowExecutions sets the WorkflowExecutions field's value. +func (s *ListWorkflowExecutionsOutput) SetWorkflowExecutions(v []*WorkflowExecutionMetadata) *ListWorkflowExecutionsOutput { + s.WorkflowExecutions = v + return s +} - // Includes deprecated images in the response list. - IncludeDeprecated *bool `locationName:"includeDeprecated" type:"boolean"` +type ListWorkflowStepExecutionsInput struct { + _ struct{} `type:"structure"` // The maximum items to return in a request. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -20806,11 +23299,11 @@ type ListImagesInput struct { // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The owner defines which images you want to list. By default, this request - // will only show images owned by your account. You can use this field to specify - // if you want to view images owned by yourself, by Amazon, or those images - // that have been shared with you by other customers. - Owner *string `locationName:"owner" type:"string" enum:"Ownership"` + // The unique identifier that Image Builder assigned to keep track of runtime + // details when it ran the workflow. + // + // WorkflowExecutionId is a required field + WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string" required:"true"` } // String returns the string representation. @@ -20818,7 +23311,7 @@ type ListImagesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagesInput) String() string { +func (s ListWorkflowStepExecutionsInput) String() string { return awsutil.Prettify(s) } @@ -20827,31 +23320,21 @@ func (s ListImagesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagesInput) GoString() string { +func (s ListWorkflowStepExecutionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImagesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImagesInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) - } +func (s *ListWorkflowStepExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowStepExecutionsInput"} 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.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.WorkflowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionId")) } if invalidParams.Len() > 0 { @@ -20860,55 +23343,33 @@ func (s *ListImagesInput) Validate() error { return nil } -// SetByName sets the ByName field's value. -func (s *ListImagesInput) SetByName(v bool) *ListImagesInput { - s.ByName = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *ListImagesInput) SetFilters(v []*Filter) *ListImagesInput { - s.Filters = v - return s -} - -// SetIncludeDeprecated sets the IncludeDeprecated field's value. -func (s *ListImagesInput) SetIncludeDeprecated(v bool) *ListImagesInput { - s.IncludeDeprecated = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListImagesInput) SetMaxResults(v int64) *ListImagesInput { +func (s *ListWorkflowStepExecutionsInput) SetMaxResults(v int64) *ListWorkflowStepExecutionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagesInput) SetNextToken(v string) *ListImagesInput { +func (s *ListWorkflowStepExecutionsInput) SetNextToken(v string) *ListWorkflowStepExecutionsInput { s.NextToken = &v return s } -// SetOwner sets the Owner field's value. -func (s *ListImagesInput) SetOwner(v string) *ListImagesInput { - s.Owner = &v +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *ListWorkflowStepExecutionsInput) SetWorkflowExecutionId(v string) *ListWorkflowStepExecutionsInput { + s.WorkflowExecutionId = &v return s } -type ListImagesOutput struct { +type ListWorkflowStepExecutionsOutput struct { _ struct{} `type:"structure"` - // The list of image semantic versions. - // - // The semantic version has four nodes: ../. You - // can assign values for the first three, and can filter on all of them. - // - // Filtering: With semantic versioning, you have the flexibility to use wildcards - // (x) to specify the most recent versions or nodes when selecting the base - // image or components for your recipe. When you use a wildcard in any node, - // all nodes to the right of the first wildcard must also be wildcards. - ImageVersionList []*ImageVersion `locationName:"imageVersionList" type:"list"` + // The image build version resource ARN that's associated with the specified + // runtime instance of the workflow. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The output message from the list action, if applicable. + Message *string `locationName:"message" type:"string"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. @@ -20917,6 +23378,18 @@ type ListImagesOutput struct { // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` + + // Contains an array of runtime details that represents each step in this runtime + // instance of the workflow. + Steps []*WorkflowStepMetadata `locationName:"steps" type:"list"` + + // The build version ARN for the Image Builder workflow resource that defines + // the steps for this runtime instance of the workflow. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` + + // The unique identifier that Image Builder assigned to keep track of runtime + // details when it ran the workflow. + WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` } // String returns the string representation. @@ -20924,7 +23397,7 @@ type ListImagesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagesOutput) String() string { +func (s ListWorkflowStepExecutionsOutput) String() string { return awsutil.Prettify(s) } @@ -20933,32 +23406,59 @@ func (s ListImagesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImagesOutput) GoString() string { +func (s ListWorkflowStepExecutionsOutput) GoString() string { return s.String() } -// SetImageVersionList sets the ImageVersionList field's value. -func (s *ListImagesOutput) SetImageVersionList(v []*ImageVersion) *ListImagesOutput { - s.ImageVersionList = v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *ListWorkflowStepExecutionsOutput) SetImageBuildVersionArn(v string) *ListWorkflowStepExecutionsOutput { + s.ImageBuildVersionArn = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ListWorkflowStepExecutionsOutput) SetMessage(v string) *ListWorkflowStepExecutionsOutput { + s.Message = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput { +func (s *ListWorkflowStepExecutionsOutput) SetNextToken(v string) *ListWorkflowStepExecutionsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListImagesOutput) SetRequestId(v string) *ListImagesOutput { +func (s *ListWorkflowStepExecutionsOutput) SetRequestId(v string) *ListWorkflowStepExecutionsOutput { s.RequestId = &v return s } -type ListInfrastructureConfigurationsInput struct { +// SetSteps sets the Steps field's value. +func (s *ListWorkflowStepExecutionsOutput) SetSteps(v []*WorkflowStepMetadata) *ListWorkflowStepExecutionsOutput { + s.Steps = v + return s +} + +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *ListWorkflowStepExecutionsOutput) SetWorkflowBuildVersionArn(v string) *ListWorkflowStepExecutionsOutput { + s.WorkflowBuildVersionArn = &v + return s +} + +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *ListWorkflowStepExecutionsOutput) SetWorkflowExecutionId(v string) *ListWorkflowStepExecutionsOutput { + s.WorkflowExecutionId = &v + return s +} + +type ListWorkflowsInput struct { _ struct{} `type:"structure"` - // You can filter on name to streamline results. + // Specify all or part of the workflow name to streamline results. + ByName *bool `locationName:"byName" type:"boolean"` + + // Used to streamline search results. Filters []*Filter `locationName:"filters" min:"1" type:"list"` // The maximum items to return in a request. @@ -20967,6 +23467,10 @@ type ListInfrastructureConfigurationsInput struct { // A token to specify where to start paginating. This is the nextToken from // a previously truncated response. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // Used to get a list of workflow build version filtered by the identity of + // the creator. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` } // String returns the string representation. @@ -20974,7 +23478,7 @@ type ListInfrastructureConfigurationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListInfrastructureConfigurationsInput) String() string { +func (s ListWorkflowsInput) String() string { return awsutil.Prettify(s) } @@ -20983,13 +23487,13 @@ func (s ListInfrastructureConfigurationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListInfrastructureConfigurationsInput) GoString() string { +func (s ListWorkflowsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListInfrastructureConfigurationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInfrastructureConfigurationsInput"} +func (s *ListWorkflowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowsInput"} if s.Filters != nil && len(s.Filters) < 1 { invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) } @@ -21016,37 +23520,46 @@ func (s *ListInfrastructureConfigurationsInput) Validate() error { return nil } +// SetByName sets the ByName field's value. +func (s *ListWorkflowsInput) SetByName(v bool) *ListWorkflowsInput { + s.ByName = &v + return s +} + // SetFilters sets the Filters field's value. -func (s *ListInfrastructureConfigurationsInput) SetFilters(v []*Filter) *ListInfrastructureConfigurationsInput { +func (s *ListWorkflowsInput) SetFilters(v []*Filter) *ListWorkflowsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListInfrastructureConfigurationsInput) SetMaxResults(v int64) *ListInfrastructureConfigurationsInput { +func (s *ListWorkflowsInput) SetMaxResults(v int64) *ListWorkflowsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListInfrastructureConfigurationsInput) SetNextToken(v string) *ListInfrastructureConfigurationsInput { +func (s *ListWorkflowsInput) SetNextToken(v string) *ListWorkflowsInput { s.NextToken = &v return s } -type ListInfrastructureConfigurationsOutput struct { - _ struct{} `type:"structure"` +// SetOwner sets the Owner field's value. +func (s *ListWorkflowsInput) SetOwner(v string) *ListWorkflowsInput { + s.Owner = &v + return s +} - // The list of infrastructure configurations. - InfrastructureConfigurationSummaryList []*InfrastructureConfigurationSummary `locationName:"infrastructureConfigurationSummaryList" type:"list"` +type ListWorkflowsOutput struct { + _ struct{} `type:"structure"` // The next token used for paginated responses. When this field isn't empty, // there are additional elements that the service hasn't included in this request. // Use this token with the next request to retrieve additional objects. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // A list of workflow build versions that match the request criteria. + WorkflowVersionList []*WorkflowVersion `locationName:"workflowVersionList" type:"list"` } // String returns the string representation. @@ -21054,7 +23567,7 @@ type ListInfrastructureConfigurationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListInfrastructureConfigurationsOutput) String() string { +func (s ListWorkflowsOutput) String() string { return awsutil.Prettify(s) } @@ -21063,52 +23576,28 @@ func (s ListInfrastructureConfigurationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListInfrastructureConfigurationsOutput) GoString() string { +func (s ListWorkflowsOutput) GoString() string { return s.String() } -// SetInfrastructureConfigurationSummaryList sets the InfrastructureConfigurationSummaryList field's value. -func (s *ListInfrastructureConfigurationsOutput) SetInfrastructureConfigurationSummaryList(v []*InfrastructureConfigurationSummary) *ListInfrastructureConfigurationsOutput { - s.InfrastructureConfigurationSummaryList = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListInfrastructureConfigurationsOutput) SetNextToken(v string) *ListInfrastructureConfigurationsOutput { +func (s *ListWorkflowsOutput) SetNextToken(v string) *ListWorkflowsOutput { s.NextToken = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListInfrastructureConfigurationsOutput) SetRequestId(v string) *ListInfrastructureConfigurationsOutput { - s.RequestId = &v +// SetWorkflowVersionList sets the WorkflowVersionList field's value. +func (s *ListWorkflowsOutput) SetWorkflowVersionList(v []*WorkflowVersion) *ListWorkflowsOutput { + s.WorkflowVersionList = v return s } -type ListLifecycleExecutionResourcesInput struct { +// Logging configuration defines where Image Builder uploads your logs. +type Logging struct { _ struct{} `type:"structure"` - // Use the unique identifier for a runtime instance of the lifecycle policy - // to get runtime details. - // - // LifecycleExecutionId is a required field - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string" required:"true"` - - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // You can leave this empty to get a list of Image Builder resources that were - // identified for lifecycle actions. - // - // To get a list of associated resources that are impacted for an individual - // resource (the parent), specify its Amazon Resource Name (ARN). Associated - // resources are produced from your image and distributed when you run a build, - // such as AMIs or container images stored in ECR repositories. - ParentResourceId *string `locationName:"parentResourceId" min:"1" type:"string"` + // The Amazon S3 logging configuration. + S3Logs *S3Logs `locationName:"s3Logs" type:"structure"` } // String returns the string representation. @@ -21116,7 +23605,7 @@ type ListLifecycleExecutionResourcesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionResourcesInput) String() string { +func (s Logging) String() string { return awsutil.Prettify(s) } @@ -21125,24 +23614,17 @@ func (s ListLifecycleExecutionResourcesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionResourcesInput) GoString() string { +func (s Logging) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListLifecycleExecutionResourcesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListLifecycleExecutionResourcesInput"} - if s.LifecycleExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("LifecycleExecutionId")) - } - 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.ParentResourceId != nil && len(*s.ParentResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ParentResourceId", 1)) +func (s *Logging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Logging"} + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -21151,46 +23633,22 @@ func (s *ListLifecycleExecutionResourcesInput) Validate() error { return nil } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *ListLifecycleExecutionResourcesInput) SetLifecycleExecutionId(v string) *ListLifecycleExecutionResourcesInput { - s.LifecycleExecutionId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListLifecycleExecutionResourcesInput) SetMaxResults(v int64) *ListLifecycleExecutionResourcesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListLifecycleExecutionResourcesInput) SetNextToken(v string) *ListLifecycleExecutionResourcesInput { - s.NextToken = &v - return s -} - -// SetParentResourceId sets the ParentResourceId field's value. -func (s *ListLifecycleExecutionResourcesInput) SetParentResourceId(v string) *ListLifecycleExecutionResourcesInput { - s.ParentResourceId = &v +// SetS3Logs sets the S3Logs field's value. +func (s *Logging) SetS3Logs(v *S3Logs) *Logging { + s.S3Logs = v return s } -type ListLifecycleExecutionResourcesOutput struct { +// The resources produced by this image. +type OutputResources struct { _ struct{} `type:"structure"` - // Runtime details for the specified runtime instance of the lifecycle policy. - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - - // The current state of the lifecycle runtime instance. - LifecycleExecutionState *LifecycleExecutionState `locationName:"lifecycleExecutionState" type:"structure"` - - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The Amazon EC2 AMIs created by this image. + Amis []*Ami `locationName:"amis" type:"list"` - // A list of resources that were identified for lifecycle actions. - Resources []*LifecycleExecutionResource `locationName:"resources" type:"list"` + // Container images that the pipeline has generated and stored in the output + // repository. + Containers []*Container `locationName:"containers" type:"list"` } // String returns the string representation. @@ -21198,7 +23656,7 @@ type ListLifecycleExecutionResourcesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionResourcesOutput) String() string { +func (s OutputResources) String() string { return awsutil.Prettify(s) } @@ -21207,49 +23665,61 @@ func (s ListLifecycleExecutionResourcesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionResourcesOutput) GoString() string { +func (s OutputResources) GoString() string { return s.String() } -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *ListLifecycleExecutionResourcesOutput) SetLifecycleExecutionId(v string) *ListLifecycleExecutionResourcesOutput { - s.LifecycleExecutionId = &v +// SetAmis sets the Amis field's value. +func (s *OutputResources) SetAmis(v []*Ami) *OutputResources { + s.Amis = v return s } -// SetLifecycleExecutionState sets the LifecycleExecutionState field's value. -func (s *ListLifecycleExecutionResourcesOutput) SetLifecycleExecutionState(v *LifecycleExecutionState) *ListLifecycleExecutionResourcesOutput { - s.LifecycleExecutionState = v +// SetContainers sets the Containers field's value. +func (s *OutputResources) SetContainers(v []*Container) *OutputResources { + s.Containers = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLifecycleExecutionResourcesOutput) SetNextToken(v string) *ListLifecycleExecutionResourcesOutput { - s.NextToken = &v - return s -} +// Information about package vulnerability findings. +type PackageVulnerabilityDetails struct { + _ struct{} `type:"structure"` -// SetResources sets the Resources field's value. -func (s *ListLifecycleExecutionResourcesOutput) SetResources(v []*LifecycleExecutionResource) *ListLifecycleExecutionResourcesOutput { - s.Resources = v - return s -} + // CVSS scores for one or more vulnerabilities that Amazon Inspector identified + // for a package. + Cvss []*CvssScore `locationName:"cvss" type:"list"` -type ListLifecycleExecutionsInput struct { - _ struct{} `type:"structure"` + // Links to web pages that contain details about the vulnerabilities that Amazon + // Inspector identified for the package. + ReferenceUrls []*string `locationName:"referenceUrls" min:"1" type:"list"` - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // Vulnerabilities that are often related to the findings for the package. + RelatedVulnerabilities []*string `locationName:"relatedVulnerabilities" type:"list"` - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The source of the vulnerability information. + Source *string `locationName:"source" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the resource for which to get a list of - // lifecycle runtime instances. + // A link to the source of the vulnerability information. + SourceUrl *string `locationName:"sourceUrl" min:"1" type:"string"` + + // The date and time when this vulnerability was first added to the vendor's + // database. + VendorCreatedAt *time.Time `locationName:"vendorCreatedAt" type:"timestamp"` + + // The severity that the vendor assigned to this vulnerability type. + VendorSeverity *string `locationName:"vendorSeverity" min:"1" type:"string"` + + // The date and time when the vendor last updated this vulnerability in their + // database. + VendorUpdatedAt *time.Time `locationName:"vendorUpdatedAt" type:"timestamp"` + + // A unique identifier for this vulnerability. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + // VulnerabilityId is a required field + VulnerabilityId *string `locationName:"vulnerabilityId" type:"string" required:"true"` + + // The packages that this vulnerability impacts. + VulnerablePackages []*VulnerablePackage `locationName:"vulnerablePackages" type:"list"` } // String returns the string representation. @@ -21257,7 +23727,7 @@ type ListLifecycleExecutionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionsInput) String() string { +func (s PackageVulnerabilityDetails) String() string { return awsutil.Prettify(s) } @@ -21266,101 +23736,83 @@ func (s ListLifecycleExecutionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecycleExecutionsInput) GoString() string { +func (s PackageVulnerabilityDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListLifecycleExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListLifecycleExecutionsInput"} - 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.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCvss sets the Cvss field's value. +func (s *PackageVulnerabilityDetails) SetCvss(v []*CvssScore) *PackageVulnerabilityDetails { + s.Cvss = v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListLifecycleExecutionsInput) SetMaxResults(v int64) *ListLifecycleExecutionsInput { - s.MaxResults = &v +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *PackageVulnerabilityDetails) SetReferenceUrls(v []*string) *PackageVulnerabilityDetails { + s.ReferenceUrls = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLifecycleExecutionsInput) SetNextToken(v string) *ListLifecycleExecutionsInput { - s.NextToken = &v +// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. +func (s *PackageVulnerabilityDetails) SetRelatedVulnerabilities(v []*string) *PackageVulnerabilityDetails { + s.RelatedVulnerabilities = v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListLifecycleExecutionsInput) SetResourceArn(v string) *ListLifecycleExecutionsInput { - s.ResourceArn = &v +// SetSource sets the Source field's value. +func (s *PackageVulnerabilityDetails) SetSource(v string) *PackageVulnerabilityDetails { + s.Source = &v return s } -type ListLifecycleExecutionsOutput struct { - _ struct{} `type:"structure"` - - // A list of lifecycle runtime instances for the specified resource. - LifecycleExecutions []*LifecycleExecution `locationName:"lifecycleExecutions" type:"list"` +// SetSourceUrl sets the SourceUrl field's value. +func (s *PackageVulnerabilityDetails) SetSourceUrl(v string) *PackageVulnerabilityDetails { + s.SourceUrl = &v + return s +} - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` +// SetVendorCreatedAt sets the VendorCreatedAt field's value. +func (s *PackageVulnerabilityDetails) SetVendorCreatedAt(v time.Time) *PackageVulnerabilityDetails { + s.VendorCreatedAt = &v + return s } -// 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 ListLifecycleExecutionsOutput) String() string { - return awsutil.Prettify(s) +// SetVendorSeverity sets the VendorSeverity field's value. +func (s *PackageVulnerabilityDetails) SetVendorSeverity(v string) *PackageVulnerabilityDetails { + s.VendorSeverity = &v + return 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 ListLifecycleExecutionsOutput) GoString() string { - return s.String() +// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. +func (s *PackageVulnerabilityDetails) SetVendorUpdatedAt(v time.Time) *PackageVulnerabilityDetails { + s.VendorUpdatedAt = &v + return s } -// SetLifecycleExecutions sets the LifecycleExecutions field's value. -func (s *ListLifecycleExecutionsOutput) SetLifecycleExecutions(v []*LifecycleExecution) *ListLifecycleExecutionsOutput { - s.LifecycleExecutions = v +// SetVulnerabilityId sets the VulnerabilityId field's value. +func (s *PackageVulnerabilityDetails) SetVulnerabilityId(v string) *PackageVulnerabilityDetails { + s.VulnerabilityId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLifecycleExecutionsOutput) SetNextToken(v string) *ListLifecycleExecutionsOutput { - s.NextToken = &v +// SetVulnerablePackages sets the VulnerablePackages field's value. +func (s *PackageVulnerabilityDetails) SetVulnerablePackages(v []*VulnerablePackage) *PackageVulnerabilityDetails { + s.VulnerablePackages = v return s } -type ListLifecyclePoliciesInput struct { +type PutComponentPolicyInput struct { _ struct{} `type:"structure"` - // Streamline results based on one of the following values: Name, Status. - Filters []*Filter `locationName:"filters" min:"1" type:"list"` - - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the component that this policy should be + // applied to. + // + // ComponentArn is a required field + ComponentArn *string `locationName:"componentArn" type:"string" required:"true"` - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The policy to apply. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -21368,7 +23820,7 @@ type ListLifecyclePoliciesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecyclePoliciesInput) String() string { +func (s PutComponentPolicyInput) String() string { return awsutil.Prettify(s) } @@ -21377,31 +23829,21 @@ func (s ListLifecyclePoliciesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecyclePoliciesInput) GoString() string { +func (s PutComponentPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListLifecyclePoliciesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListLifecyclePoliciesInput"} - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *PutComponentPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutComponentPolicyInput"} + if s.ComponentArn == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentArn")) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } if invalidParams.Len() > 0 { @@ -21410,35 +23852,27 @@ func (s *ListLifecyclePoliciesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListLifecyclePoliciesInput) SetFilters(v []*Filter) *ListLifecyclePoliciesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListLifecyclePoliciesInput) SetMaxResults(v int64) *ListLifecyclePoliciesInput { - s.MaxResults = &v +// SetComponentArn sets the ComponentArn field's value. +func (s *PutComponentPolicyInput) SetComponentArn(v string) *PutComponentPolicyInput { + s.ComponentArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLifecyclePoliciesInput) SetNextToken(v string) *ListLifecyclePoliciesInput { - s.NextToken = &v +// SetPolicy sets the Policy field's value. +func (s *PutComponentPolicyInput) SetPolicy(v string) *PutComponentPolicyInput { + s.Policy = &v return s } -type ListLifecyclePoliciesOutput struct { +type PutComponentPolicyOutput struct { _ struct{} `type:"structure"` - // A list of lifecycle policies in your Amazon Web Services account that meet - // the criteria specified in the request. - LifecyclePolicySummaryList []*LifecyclePolicySummary `locationName:"lifecyclePolicySummaryList" type:"list"` + // The Amazon Resource Name (ARN) of the component that this policy was applied + // to. + ComponentArn *string `locationName:"componentArn" type:"string"` - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -21446,7 +23880,7 @@ type ListLifecyclePoliciesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecyclePoliciesOutput) String() string { +func (s PutComponentPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -21455,29 +23889,35 @@ func (s ListLifecyclePoliciesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLifecyclePoliciesOutput) GoString() string { +func (s PutComponentPolicyOutput) GoString() string { return s.String() } -// SetLifecyclePolicySummaryList sets the LifecyclePolicySummaryList field's value. -func (s *ListLifecyclePoliciesOutput) SetLifecyclePolicySummaryList(v []*LifecyclePolicySummary) *ListLifecyclePoliciesOutput { - s.LifecyclePolicySummaryList = v +// SetComponentArn sets the ComponentArn field's value. +func (s *PutComponentPolicyOutput) SetComponentArn(v string) *PutComponentPolicyOutput { + s.ComponentArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLifecyclePoliciesOutput) SetNextToken(v string) *ListLifecyclePoliciesOutput { - s.NextToken = &v +// SetRequestId sets the RequestId field's value. +func (s *PutComponentPolicyOutput) SetRequestId(v string) *PutComponentPolicyOutput { + s.RequestId = &v return s } -type ListTagsForResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type PutContainerRecipePolicyInput struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve. + // The Amazon Resource Name (ARN) of the container recipe that this policy should + // be applied to. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + // ContainerRecipeArn is a required field + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string" required:"true"` + + // The policy to apply to the container recipe. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -21485,7 +23925,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s PutContainerRecipePolicyInput) String() string { return awsutil.Prettify(s) } @@ -21494,18 +23934,21 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { +func (s PutContainerRecipePolicyInput) 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")) +func (s *PutContainerRecipePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutContainerRecipePolicyInput"} + if s.ContainerRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } if invalidParams.Len() > 0 { @@ -21514,17 +23957,27 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *PutContainerRecipePolicyInput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyInput { + s.ContainerRecipeArn = &v return s } -type ListTagsForResourceOutput struct { +// SetPolicy sets the Policy field's value. +func (s *PutContainerRecipePolicyInput) SetPolicy(v string) *PutContainerRecipePolicyInput { + s.Policy = &v + return s +} + +type PutContainerRecipePolicyOutput struct { _ struct{} `type:"structure"` - // The tags for the specified resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The Amazon Resource Name (ARN) of the container recipe that this policy was + // applied to. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -21532,7 +23985,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s PutContainerRecipePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -21541,31 +23994,35 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s PutContainerRecipePolicyOutput) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { - s.Tags = v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *PutContainerRecipePolicyOutput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyOutput { + s.ContainerRecipeArn = &v return s } -type ListWorkflowExecutionsInput struct { +// SetRequestId sets the RequestId field's value. +func (s *PutContainerRecipePolicyOutput) SetRequestId(v string) *PutContainerRecipePolicyOutput { + s.RequestId = &v + return s +} + +type PutImagePolicyInput struct { _ struct{} `type:"structure"` - // List all workflow runtime instances for the specified image build version - // resource ARN. + // The Amazon Resource Name (ARN) of the image that this policy should be applied + // to. // - // ImageBuildVersionArn is a required field - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` - - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // ImageArn is a required field + ImageArn *string `locationName:"imageArn" type:"string" required:"true"` - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The policy to apply. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -21573,7 +24030,7 @@ type ListWorkflowExecutionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowExecutionsInput) String() string { +func (s PutImagePolicyInput) String() string { return awsutil.Prettify(s) } @@ -21582,21 +24039,21 @@ func (s ListWorkflowExecutionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowExecutionsInput) GoString() string { +func (s PutImagePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListWorkflowExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListWorkflowExecutionsInput"} - if s.ImageBuildVersionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) +func (s *PutImagePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutImagePolicyInput"} + if s.ImageArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageArn")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } if invalidParams.Len() > 0 { @@ -21605,45 +24062,27 @@ func (s *ListWorkflowExecutionsInput) Validate() error { return nil } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ListWorkflowExecutionsInput) SetImageBuildVersionArn(v string) *ListWorkflowExecutionsInput { - s.ImageBuildVersionArn = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListWorkflowExecutionsInput) SetMaxResults(v int64) *ListWorkflowExecutionsInput { - s.MaxResults = &v +// SetImageArn sets the ImageArn field's value. +func (s *PutImagePolicyInput) SetImageArn(v string) *PutImagePolicyInput { + s.ImageArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowExecutionsInput) SetNextToken(v string) *ListWorkflowExecutionsInput { - s.NextToken = &v +// SetPolicy sets the Policy field's value. +func (s *PutImagePolicyInput) SetPolicy(v string) *PutImagePolicyInput { + s.Policy = &v return s } -type ListWorkflowExecutionsOutput struct { +type PutImagePolicyOutput struct { _ struct{} `type:"structure"` - // The resource ARN of the image build version for which you requested a list - // of workflow runtime details. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - - // The output message from the list action, if applicable. - Message *string `locationName:"message" type:"string"` - - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the image that this policy was applied + // to. + ImageArn *string `locationName:"imageArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` - - // Contains an array of runtime details that represents each time a workflow - // ran for the requested image build version. - WorkflowExecutions []*WorkflowExecutionMetadata `locationName:"workflowExecutions" type:"list"` } // String returns the string representation. @@ -21651,7 +24090,7 @@ type ListWorkflowExecutionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowExecutionsOutput) String() string { +func (s PutImagePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -21660,55 +24099,95 @@ func (s ListWorkflowExecutionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowExecutionsOutput) GoString() string { +func (s PutImagePolicyOutput) GoString() string { return s.String() } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ListWorkflowExecutionsOutput) SetImageBuildVersionArn(v string) *ListWorkflowExecutionsOutput { - s.ImageBuildVersionArn = &v +// SetImageArn sets the ImageArn field's value. +func (s *PutImagePolicyOutput) SetImageArn(v string) *PutImagePolicyOutput { + s.ImageArn = &v return s } -// SetMessage sets the Message field's value. -func (s *ListWorkflowExecutionsOutput) SetMessage(v string) *ListWorkflowExecutionsOutput { - s.Message = &v +// SetRequestId sets the RequestId field's value. +func (s *PutImagePolicyOutput) SetRequestId(v string) *PutImagePolicyOutput { + s.RequestId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowExecutionsOutput) SetNextToken(v string) *ListWorkflowExecutionsOutput { - s.NextToken = &v - return s +type PutImageRecipePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe that this policy should + // be applied to. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string" required:"true"` + + // The policy to apply. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` } -// SetRequestId sets the RequestId field's value. -func (s *ListWorkflowExecutionsOutput) SetRequestId(v string) *ListWorkflowExecutionsOutput { - s.RequestId = &v +// 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 PutImageRecipePolicyInput) 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 PutImageRecipePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutImageRecipePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutImageRecipePolicyInput"} + if s.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *PutImageRecipePolicyInput) SetImageRecipeArn(v string) *PutImageRecipePolicyInput { + s.ImageRecipeArn = &v return s } -// SetWorkflowExecutions sets the WorkflowExecutions field's value. -func (s *ListWorkflowExecutionsOutput) SetWorkflowExecutions(v []*WorkflowExecutionMetadata) *ListWorkflowExecutionsOutput { - s.WorkflowExecutions = v +// SetPolicy sets the Policy field's value. +func (s *PutImageRecipePolicyInput) SetPolicy(v string) *PutImageRecipePolicyInput { + s.Policy = &v return s } -type ListWorkflowStepExecutionsInput struct { +type PutImageRecipePolicyOutput struct { _ struct{} `type:"structure"` - // The maximum items to return in a request. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // A token to specify where to start paginating. This is the nextToken from - // a previously truncated response. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the image recipe that this policy was applied + // to. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` - // The unique identifier that Image Builder assigned to keep track of runtime - // details when it ran the workflow. - // - // WorkflowExecutionId is a required field - WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string" required:"true"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -21716,7 +24195,7 @@ type ListWorkflowStepExecutionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowStepExecutionsInput) String() string { +func (s PutImageRecipePolicyOutput) String() string { return awsutil.Prettify(s) } @@ -21725,76 +24204,29 @@ func (s ListWorkflowStepExecutionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowStepExecutionsInput) GoString() string { +func (s PutImageRecipePolicyOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListWorkflowStepExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListWorkflowStepExecutionsInput"} - 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.WorkflowExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListWorkflowStepExecutionsInput) SetMaxResults(v int64) *ListWorkflowStepExecutionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowStepExecutionsInput) SetNextToken(v string) *ListWorkflowStepExecutionsInput { - s.NextToken = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *PutImageRecipePolicyOutput) SetImageRecipeArn(v string) *PutImageRecipePolicyOutput { + s.ImageRecipeArn = &v return s } -// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *ListWorkflowStepExecutionsInput) SetWorkflowExecutionId(v string) *ListWorkflowStepExecutionsInput { - s.WorkflowExecutionId = &v +// SetRequestId sets the RequestId field's value. +func (s *PutImageRecipePolicyOutput) SetRequestId(v string) *PutImageRecipePolicyOutput { + s.RequestId = &v return s } -type ListWorkflowStepExecutionsOutput struct { +// Information about how to remediate a finding. +type Remediation struct { _ struct{} `type:"structure"` - // The image build version resource ARN that's associated with the specified - // runtime instance of the workflow. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - - // The output message from the list action, if applicable. - Message *string `locationName:"message" type:"string"` - - // The next token used for paginated responses. When this field isn't empty, - // there are additional elements that the service hasn't included in this request. - // Use this token with the next request to retrieve additional objects. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` - - // Contains an array of runtime details that represents each step in this runtime - // instance of the workflow. - Steps []*WorkflowStepMetadata `locationName:"steps" type:"list"` - - // The build version ARN for the Image Builder workflow resource that defines - // the steps for this runtime instance of the workflow. - WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` - - // The unique identifier that Image Builder assigned to keep track of runtime - // details when it ran the workflow. - WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` + // An object that contains information about the recommended course of action + // to remediate the finding. + Recommendation *RemediationRecommendation `locationName:"recommendation" type:"structure"` } // String returns the string representation. @@ -21802,7 +24234,7 @@ type ListWorkflowStepExecutionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowStepExecutionsOutput) String() string { +func (s Remediation) String() string { return awsutil.Prettify(s) } @@ -21811,58 +24243,63 @@ func (s ListWorkflowStepExecutionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListWorkflowStepExecutionsOutput) GoString() string { +func (s Remediation) GoString() string { return s.String() } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *ListWorkflowStepExecutionsOutput) SetImageBuildVersionArn(v string) *ListWorkflowStepExecutionsOutput { - s.ImageBuildVersionArn = &v +// SetRecommendation sets the Recommendation field's value. +func (s *Remediation) SetRecommendation(v *RemediationRecommendation) *Remediation { + s.Recommendation = v return s } -// SetMessage sets the Message field's value. -func (s *ListWorkflowStepExecutionsOutput) SetMessage(v string) *ListWorkflowStepExecutionsOutput { - s.Message = &v - return s -} +// Details about the recommended course of action to remediate the finding. +type RemediationRecommendation struct { + _ struct{} `type:"structure"` -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowStepExecutionsOutput) SetNextToken(v string) *ListWorkflowStepExecutionsOutput { - s.NextToken = &v - return s + // The recommended course of action to remediate the finding. + Text *string `locationName:"text" min:"1" type:"string"` + + // A link to more information about the recommended remediation for this vulnerability. + Url *string `locationName:"url" min:"1" type:"string"` } -// SetRequestId sets the RequestId field's value. -func (s *ListWorkflowStepExecutionsOutput) SetRequestId(v string) *ListWorkflowStepExecutionsOutput { - s.RequestId = &v - return s +// 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 RemediationRecommendation) String() string { + return awsutil.Prettify(s) } -// SetSteps sets the Steps field's value. -func (s *ListWorkflowStepExecutionsOutput) SetSteps(v []*WorkflowStepMetadata) *ListWorkflowStepExecutionsOutput { - s.Steps = v - return 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 RemediationRecommendation) GoString() string { + return s.String() } -// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. -func (s *ListWorkflowStepExecutionsOutput) SetWorkflowBuildVersionArn(v string) *ListWorkflowStepExecutionsOutput { - s.WorkflowBuildVersionArn = &v +// SetText sets the Text field's value. +func (s *RemediationRecommendation) SetText(v string) *RemediationRecommendation { + s.Text = &v return s } -// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *ListWorkflowStepExecutionsOutput) SetWorkflowExecutionId(v string) *ListWorkflowStepExecutionsOutput { - s.WorkflowExecutionId = &v +// SetUrl sets the Url field's value. +func (s *RemediationRecommendation) SetUrl(v string) *RemediationRecommendation { + s.Url = &v return s } -// Logging configuration defines where Image Builder uploads your logs. -type Logging struct { - _ struct{} `type:"structure"` +// The resource that you are trying to create already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon S3 logging configuration. - S3Logs *S3Logs `locationName:"s3Logs" type:"structure"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -21870,7 +24307,7 @@ type Logging struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Logging) String() string { +func (s ResourceAlreadyExistsException) String() string { return awsutil.Prettify(s) } @@ -21879,41 +24316,55 @@ func (s Logging) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Logging) GoString() string { +func (s ResourceAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Logging) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Logging"} - if s.S3Logs != nil { - if err := s.S3Logs.Validate(); err != nil { - invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) - } +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { return nil } -// SetS3Logs sets the S3Logs field's value. -func (s *Logging) SetS3Logs(v *S3Logs) *Logging { - s.S3Logs = v - return s +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// The resources produced by this image. -type OutputResources struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The Amazon EC2 AMIs created by this image. - Amis []*Ami `locationName:"amis" type:"list"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID +} - // Container images that the pipeline has generated and stored in the output - // repository. - Containers []*Container `locationName:"containers" type:"list"` +// You have attempted to mutate or delete a resource with a dependency that +// prohibits this action. See the error message for more details. +type ResourceDependencyException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -21921,7 +24372,7 @@ type OutputResources struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s OutputResources) String() string { +func (s ResourceDependencyException) String() string { return awsutil.Prettify(s) } @@ -21930,61 +24381,55 @@ func (s OutputResources) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s OutputResources) GoString() string { +func (s ResourceDependencyException) GoString() string { return s.String() } -// SetAmis sets the Amis field's value. -func (s *OutputResources) SetAmis(v []*Ami) *OutputResources { - s.Amis = v - return s +func newErrorResourceDependencyException(v protocol.ResponseMetadata) error { + return &ResourceDependencyException{ + RespMetadata: v, + } } -// SetContainers sets the Containers field's value. -func (s *OutputResources) SetContainers(v []*Container) *OutputResources { - s.Containers = v - return s +// Code returns the exception type name. +func (s *ResourceDependencyException) Code() string { + return "ResourceDependencyException" } -// Information about package vulnerability findings. -type PackageVulnerabilityDetails struct { - _ struct{} `type:"structure"` - - // CVSS scores for one or more vulnerabilities that Amazon Inspector identified - // for a package. - Cvss []*CvssScore `locationName:"cvss" type:"list"` - - // Links to web pages that contain details about the vulnerabilities that Amazon - // Inspector identified for the package. - ReferenceUrls []*string `locationName:"referenceUrls" min:"1" type:"list"` - - // Vulnerabilities that are often related to the findings for the package. - RelatedVulnerabilities []*string `locationName:"relatedVulnerabilities" type:"list"` - - // The source of the vulnerability information. - Source *string `locationName:"source" min:"1" type:"string"` +// Message returns the exception's message. +func (s *ResourceDependencyException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // A link to the source of the vulnerability information. - SourceUrl *string `locationName:"sourceUrl" min:"1" type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceDependencyException) OrigErr() error { + return nil +} - // The date and time when this vulnerability was first added to the vendor's - // database. - VendorCreatedAt *time.Time `locationName:"vendorCreatedAt" type:"timestamp"` +func (s *ResourceDependencyException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The severity that the vendor assigned to this vulnerability type. - VendorSeverity *string `locationName:"vendorSeverity" min:"1" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceDependencyException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The date and time when the vendor last updated this vulnerability in their - // database. - VendorUpdatedAt *time.Time `locationName:"vendorUpdatedAt" type:"timestamp"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceDependencyException) RequestID() string { + return s.RespMetadata.RequestID +} - // A unique identifier for this vulnerability. - // - // VulnerabilityId is a required field - VulnerabilityId *string `locationName:"vulnerabilityId" type:"string" required:"true"` +// The resource that you are trying to operate on is currently in use. Review +// the message details and retry later. +type ResourceInUseException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The packages that this vulnerability impacts. - VulnerablePackages []*VulnerablePackage `locationName:"vulnerablePackages" type:"list"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -21992,7 +24437,7 @@ type PackageVulnerabilityDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageVulnerabilityDetails) String() string { +func (s ResourceInUseException) String() string { return awsutil.Prettify(s) } @@ -22001,83 +24446,54 @@ func (s PackageVulnerabilityDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageVulnerabilityDetails) GoString() string { +func (s ResourceInUseException) GoString() string { return s.String() } -// SetCvss sets the Cvss field's value. -func (s *PackageVulnerabilityDetails) SetCvss(v []*CvssScore) *PackageVulnerabilityDetails { - s.Cvss = v - return s -} - -// SetReferenceUrls sets the ReferenceUrls field's value. -func (s *PackageVulnerabilityDetails) SetReferenceUrls(v []*string) *PackageVulnerabilityDetails { - s.ReferenceUrls = v - return s -} - -// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. -func (s *PackageVulnerabilityDetails) SetRelatedVulnerabilities(v []*string) *PackageVulnerabilityDetails { - s.RelatedVulnerabilities = v - return s -} - -// SetSource sets the Source field's value. -func (s *PackageVulnerabilityDetails) SetSource(v string) *PackageVulnerabilityDetails { - s.Source = &v - return s +func newErrorResourceInUseException(v protocol.ResponseMetadata) error { + return &ResourceInUseException{ + RespMetadata: v, + } } -// SetSourceUrl sets the SourceUrl field's value. -func (s *PackageVulnerabilityDetails) SetSourceUrl(v string) *PackageVulnerabilityDetails { - s.SourceUrl = &v - return s +// Code returns the exception type name. +func (s *ResourceInUseException) Code() string { + return "ResourceInUseException" } -// SetVendorCreatedAt sets the VendorCreatedAt field's value. -func (s *PackageVulnerabilityDetails) SetVendorCreatedAt(v time.Time) *PackageVulnerabilityDetails { - s.VendorCreatedAt = &v - return s +// Message returns the exception's message. +func (s *ResourceInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetVendorSeverity sets the VendorSeverity field's value. -func (s *PackageVulnerabilityDetails) SetVendorSeverity(v string) *PackageVulnerabilityDetails { - s.VendorSeverity = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceInUseException) OrigErr() error { + return nil } -// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. -func (s *PackageVulnerabilityDetails) SetVendorUpdatedAt(v time.Time) *PackageVulnerabilityDetails { - s.VendorUpdatedAt = &v - return s +func (s *ResourceInUseException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetVulnerabilityId sets the VulnerabilityId field's value. -func (s *PackageVulnerabilityDetails) SetVulnerabilityId(v string) *PackageVulnerabilityDetails { - s.VulnerabilityId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceInUseException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetVulnerablePackages sets the VulnerablePackages field's value. -func (s *PackageVulnerabilityDetails) SetVulnerablePackages(v []*VulnerablePackage) *PackageVulnerabilityDetails { - s.VulnerablePackages = v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceInUseException) RequestID() string { + return s.RespMetadata.RequestID } -type PutComponentPolicyInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the component that this policy should be - // applied to. - // - // ComponentArn is a required field - ComponentArn *string `locationName:"componentArn" type:"string" required:"true"` +// At least one of the resources referenced by your request does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The policy to apply. - // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -22085,7 +24501,7 @@ type PutComponentPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutComponentPolicyInput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } @@ -22094,50 +24510,55 @@ func (s PutComponentPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutComponentPolicyInput) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutComponentPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutComponentPolicyInput"} - if s.ComponentArn == nil { - invalidParams.Add(request.NewErrParamRequired("ComponentArn")) - } - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// 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 } -// SetComponentArn sets the ComponentArn field's value. -func (s *PutComponentPolicyInput) SetComponentArn(v string) *PutComponentPolicyInput { - s.ComponentArn = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetPolicy sets the Policy field's value. -func (s *PutComponentPolicyInput) SetPolicy(v string) *PutComponentPolicyInput { - s.Policy = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -type PutComponentPolicyOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // The Amazon Resource Name (ARN) of the component that this policy was applied - // to. - ComponentArn *string `locationName:"componentArn" type:"string"` +// The current state of an impacted resource. +type ResourceState struct { + _ struct{} `type:"structure"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Shows the current lifecycle policy action that was applied to an impacted + // resource. + Status *string `locationName:"status" type:"string" enum:"ResourceStatus"` } // String returns the string representation. @@ -22145,7 +24566,7 @@ type PutComponentPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutComponentPolicyOutput) String() string { +func (s ResourceState) String() string { return awsutil.Prettify(s) } @@ -22154,35 +24575,23 @@ func (s PutComponentPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutComponentPolicyOutput) GoString() string { +func (s ResourceState) GoString() string { return s.String() } -// SetComponentArn sets the ComponentArn field's value. -func (s *PutComponentPolicyOutput) SetComponentArn(v string) *PutComponentPolicyOutput { - s.ComponentArn = &v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *PutComponentPolicyOutput) SetRequestId(v string) *PutComponentPolicyOutput { - s.RequestId = &v +// SetStatus sets the Status field's value. +func (s *ResourceState) SetStatus(v string) *ResourceState { + s.Status = &v return s } -type PutContainerRecipePolicyInput struct { +// Additional rules to specify resources that should be exempt from ad-hoc lifecycle +// actions. +type ResourceStateUpdateExclusionRules struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the container recipe that this policy should - // be applied to. - // - // ContainerRecipeArn is a required field - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string" required:"true"` - - // The policy to apply to the container recipe. - // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + // Defines criteria for AMIs that are excluded from lifecycle actions. + Amis *LifecyclePolicyDetailExclusionRulesAmis `locationName:"amis" type:"structure"` } // String returns the string representation. @@ -22190,7 +24599,7 @@ type PutContainerRecipePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContainerRecipePolicyInput) String() string { +func (s ResourceStateUpdateExclusionRules) String() string { return awsutil.Prettify(s) } @@ -22199,21 +24608,17 @@ func (s PutContainerRecipePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContainerRecipePolicyInput) GoString() string { +func (s ResourceStateUpdateExclusionRules) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutContainerRecipePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutContainerRecipePolicyInput"} - if s.ContainerRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn")) - } - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) +func (s *ResourceStateUpdateExclusionRules) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceStateUpdateExclusionRules"} + if s.Amis != nil { + if err := s.Amis.Validate(); err != nil { + invalidParams.AddNested("Amis", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -22222,27 +24627,25 @@ func (s *PutContainerRecipePolicyInput) Validate() error { return nil } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *PutContainerRecipePolicyInput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyInput { - s.ContainerRecipeArn = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *PutContainerRecipePolicyInput) SetPolicy(v string) *PutContainerRecipePolicyInput { - s.Policy = &v +// SetAmis sets the Amis field's value. +func (s *ResourceStateUpdateExclusionRules) SetAmis(v *LifecyclePolicyDetailExclusionRulesAmis) *ResourceStateUpdateExclusionRules { + s.Amis = v return s } -type PutContainerRecipePolicyOutput struct { +// Specifies if the lifecycle policy should apply actions to selected resources. +type ResourceStateUpdateIncludeResources struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the container recipe that this policy was - // applied to. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` + // Specifies whether the lifecycle action should apply to distributed AMIs + Amis *bool `locationName:"amis" type:"boolean"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Specifies whether the lifecycle action should apply to distributed containers. + Containers *bool `locationName:"containers" type:"boolean"` + + // Specifies whether the lifecycle action should apply to snapshots associated + // with distributed AMIs. + Snapshots *bool `locationName:"snapshots" type:"boolean"` } // String returns the string representation. @@ -22250,7 +24653,7 @@ type PutContainerRecipePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContainerRecipePolicyOutput) String() string { +func (s ResourceStateUpdateIncludeResources) String() string { return awsutil.Prettify(s) } @@ -22259,35 +24662,60 @@ func (s PutContainerRecipePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContainerRecipePolicyOutput) GoString() string { +func (s ResourceStateUpdateIncludeResources) GoString() string { return s.String() } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *PutContainerRecipePolicyOutput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyOutput { - s.ContainerRecipeArn = &v +// SetAmis sets the Amis field's value. +func (s *ResourceStateUpdateIncludeResources) SetAmis(v bool) *ResourceStateUpdateIncludeResources { + s.Amis = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *PutContainerRecipePolicyOutput) SetRequestId(v string) *PutContainerRecipePolicyOutput { - s.RequestId = &v +// SetContainers sets the Containers field's value. +func (s *ResourceStateUpdateIncludeResources) SetContainers(v bool) *ResourceStateUpdateIncludeResources { + s.Containers = &v return s } -type PutImagePolicyInput struct { +// SetSnapshots sets the Snapshots field's value. +func (s *ResourceStateUpdateIncludeResources) SetSnapshots(v bool) *ResourceStateUpdateIncludeResources { + s.Snapshots = &v + return s +} + +// Properties that configure export from your build instance to a compatible +// file format for your VM. +type S3ExportConfiguration struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image that this policy should be applied - // to. + // Export the updated image to one of the following supported disk image formats: // - // ImageArn is a required field - ImageArn *string `locationName:"imageArn" type:"string" required:"true"` + // * Virtual Hard Disk (VHD) – Compatible with Citrix Xen and Microsoft + // Hyper-V virtualization products. + // + // * Stream-optimized ESX Virtual Machine Disk (VMDK) – Compatible with + // VMware ESX and VMware vSphere versions 4, 5, and 6. + // + // * Raw – Raw format. + // + // DiskImageFormat is a required field + DiskImageFormat *string `locationName:"diskImageFormat" type:"string" required:"true" enum:"DiskImageFormat"` - // The policy to apply. + // The name of the role that grants VM Import/Export permission to export images + // to your S3 bucket. // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + // RoleName is a required field + RoleName *string `locationName:"roleName" min:"1" type:"string" required:"true"` + + // The S3 bucket in which to store the output disk images for your VM. + // + // S3Bucket is a required field + S3Bucket *string `locationName:"s3Bucket" min:"1" type:"string" required:"true"` + + // The Amazon S3 path for the bucket where the output disk images for your VM + // are stored. + S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"` } // String returns the string representation. @@ -22295,7 +24723,7 @@ type PutImagePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImagePolicyInput) String() string { +func (s S3ExportConfiguration) String() string { return awsutil.Prettify(s) } @@ -22304,21 +24732,30 @@ func (s PutImagePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImagePolicyInput) GoString() string { +func (s S3ExportConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutImagePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutImagePolicyInput"} - if s.ImageArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageArn")) +func (s *S3ExportConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ExportConfiguration"} + if s.DiskImageFormat == nil { + invalidParams.Add(request.NewErrParamRequired("DiskImageFormat")) } - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) + if s.RoleName == nil { + invalidParams.Add(request.NewErrParamRequired("RoleName")) } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + if s.RoleName != nil && len(*s.RoleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) + } + if s.S3Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("S3Bucket")) + } + if s.S3Bucket != nil && len(*s.S3Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 1)) + } + if s.S3Prefix != nil && len(*s.S3Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1)) } if invalidParams.Len() > 0 { @@ -22327,72 +24764,39 @@ func (s *PutImagePolicyInput) Validate() error { return nil } -// SetImageArn sets the ImageArn field's value. -func (s *PutImagePolicyInput) SetImageArn(v string) *PutImagePolicyInput { - s.ImageArn = &v +// SetDiskImageFormat sets the DiskImageFormat field's value. +func (s *S3ExportConfiguration) SetDiskImageFormat(v string) *S3ExportConfiguration { + s.DiskImageFormat = &v return s } -// SetPolicy sets the Policy field's value. -func (s *PutImagePolicyInput) SetPolicy(v string) *PutImagePolicyInput { - s.Policy = &v +// SetRoleName sets the RoleName field's value. +func (s *S3ExportConfiguration) SetRoleName(v string) *S3ExportConfiguration { + s.RoleName = &v return s } -type PutImagePolicyOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the image that this policy was applied - // to. - ImageArn *string `locationName:"imageArn" type:"string"` - - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" 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 PutImagePolicyOutput) 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 PutImagePolicyOutput) GoString() string { - return s.String() -} - -// SetImageArn sets the ImageArn field's value. -func (s *PutImagePolicyOutput) SetImageArn(v string) *PutImagePolicyOutput { - s.ImageArn = &v +// SetS3Bucket sets the S3Bucket field's value. +func (s *S3ExportConfiguration) SetS3Bucket(v string) *S3ExportConfiguration { + s.S3Bucket = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *PutImagePolicyOutput) SetRequestId(v string) *PutImagePolicyOutput { - s.RequestId = &v +// SetS3Prefix sets the S3Prefix field's value. +func (s *S3ExportConfiguration) SetS3Prefix(v string) *S3ExportConfiguration { + s.S3Prefix = &v return s } -type PutImageRecipePolicyInput struct { +// Amazon S3 logging configuration. +type S3Logs struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image recipe that this policy should - // be applied to. - // - // ImageRecipeArn is a required field - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string" required:"true"` + // The S3 bucket in which to store the logs. + S3BucketName *string `locationName:"s3BucketName" min:"1" type:"string"` - // The policy to apply. - // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + // The Amazon S3 path to the bucket where the logs are stored. + S3KeyPrefix *string `locationName:"s3KeyPrefix" min:"1" type:"string"` } // String returns the string representation. @@ -22400,7 +24804,7 @@ type PutImageRecipePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImageRecipePolicyInput) String() string { +func (s S3Logs) String() string { return awsutil.Prettify(s) } @@ -22409,21 +24813,18 @@ func (s PutImageRecipePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImageRecipePolicyInput) GoString() string { +func (s S3Logs) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutImageRecipePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutImageRecipePolicyInput"} - if s.ImageRecipeArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) - } - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) +func (s *S3Logs) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Logs"} + if s.S3BucketName != nil && len(*s.S3BucketName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 1)) } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + if s.S3KeyPrefix != nil && len(*s.S3KeyPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3KeyPrefix", 1)) } if invalidParams.Len() > 0 { @@ -22432,27 +24833,45 @@ func (s *PutImageRecipePolicyInput) Validate() error { return nil } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *PutImageRecipePolicyInput) SetImageRecipeArn(v string) *PutImageRecipePolicyInput { - s.ImageRecipeArn = &v +// SetS3BucketName sets the S3BucketName field's value. +func (s *S3Logs) SetS3BucketName(v string) *S3Logs { + s.S3BucketName = &v return s } -// SetPolicy sets the Policy field's value. -func (s *PutImageRecipePolicyInput) SetPolicy(v string) *PutImageRecipePolicyInput { - s.Policy = &v +// SetS3KeyPrefix sets the S3KeyPrefix field's value. +func (s *S3Logs) SetS3KeyPrefix(v string) *S3Logs { + s.S3KeyPrefix = &v return s } -type PutImageRecipePolicyOutput struct { +// A schedule configures when and how often a pipeline will automatically create +// a new image. +type Schedule struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the image recipe that this policy was applied - // to. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + // The condition configures when the pipeline should trigger a new image build. + // When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, + // and you use semantic version filters on the base image or components in your + // image recipe, EC2 Image Builder will build a new image only when there are + // new versions of the image or components in your recipe that match the semantic + // version filter. When it is set to EXPRESSION_MATCH_ONLY, it will build a + // new image every time the CRON expression matches the current time. For semantic + // version syntax, see CreateComponent (https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html) + // in the EC2 Image Builder API Reference. + PipelineExecutionStartCondition *string `locationName:"pipelineExecutionStartCondition" type:"string" enum:"PipelineExecutionStartCondition"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The cron expression determines how often EC2 Image Builder evaluates your + // pipelineExecutionStartCondition. + // + // For information on how to format a cron expression in Image Builder, see + // Use cron expressions in EC2 Image Builder (https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html). + ScheduleExpression *string `locationName:"scheduleExpression" min:"1" type:"string"` + + // The timezone that applies to the scheduling expression. For example, "Etc/UTC", + // "America/Los_Angeles" in the IANA timezone format (https://www.joda.org/joda-time/timezones.html). + // If not specified this defaults to UTC. + Timezone *string `locationName:"timezone" min:"3" type:"string"` } // String returns the string representation. @@ -22460,7 +24879,7 @@ type PutImageRecipePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImageRecipePolicyOutput) String() string { +func (s Schedule) String() string { return awsutil.Prettify(s) } @@ -22469,29 +24888,71 @@ func (s PutImageRecipePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutImageRecipePolicyOutput) GoString() string { +func (s Schedule) GoString() string { return s.String() } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *PutImageRecipePolicyOutput) SetImageRecipeArn(v string) *PutImageRecipePolicyOutput { - s.ImageRecipeArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Schedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Schedule"} + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) + } + if s.Timezone != nil && len(*s.Timezone) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Timezone", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineExecutionStartCondition sets the PipelineExecutionStartCondition field's value. +func (s *Schedule) SetPipelineExecutionStartCondition(v string) *Schedule { + s.PipelineExecutionStartCondition = &v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *Schedule) SetScheduleExpression(v string) *Schedule { + s.ScheduleExpression = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *PutImageRecipePolicyOutput) SetRequestId(v string) *PutImageRecipePolicyOutput { - s.RequestId = &v +// SetTimezone sets the Timezone field's value. +func (s *Schedule) SetTimezone(v string) *Schedule { + s.Timezone = &v return s } -// Information about how to remediate a finding. -type Remediation struct { +type SendWorkflowStepActionInput struct { _ struct{} `type:"structure"` - // An object that contains information about the recommended course of action - // to remediate the finding. - Recommendation *RemediationRecommendation `locationName:"recommendation" type:"structure"` + // The action for the image creation process to take while a workflow WaitForAction + // step waits for an asynchronous action to complete. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"WorkflowStepActionType"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the image build version to send action + // for. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` + + // The reason why this action is sent. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // Uniquely identifies the workflow step that sent the step action. + // + // StepExecutionId is a required field + StepExecutionId *string `locationName:"stepExecutionId" type:"string" required:"true"` } // String returns the string representation. @@ -22499,7 +24960,7 @@ type Remediation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Remediation) String() string { +func (s SendWorkflowStepActionInput) String() string { return awsutil.Prettify(s) } @@ -22508,63 +24969,77 @@ func (s Remediation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Remediation) GoString() string { +func (s SendWorkflowStepActionInput) GoString() string { return s.String() } -// SetRecommendation sets the Recommendation field's value. -func (s *Remediation) SetRecommendation(v *RemediationRecommendation) *Remediation { - s.Recommendation = v - return s -} - -// Details about the recommended course of action to remediate the finding. -type RemediationRecommendation struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendWorkflowStepActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendWorkflowStepActionInput"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ImageBuildVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn")) + } + if s.Reason != nil && len(*s.Reason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Reason", 1)) + } + if s.StepExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("StepExecutionId")) + } - // The recommended course of action to remediate the finding. - Text *string `locationName:"text" min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A link to more information about the recommended remediation for this vulnerability. - Url *string `locationName:"url" min:"1" type:"string"` +// SetAction sets the Action field's value. +func (s *SendWorkflowStepActionInput) SetAction(v string) *SendWorkflowStepActionInput { + s.Action = &v + return s } -// 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 RemediationRecommendation) String() string { - return awsutil.Prettify(s) +// SetClientToken sets the ClientToken field's value. +func (s *SendWorkflowStepActionInput) SetClientToken(v string) *SendWorkflowStepActionInput { + s.ClientToken = &v + return 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 RemediationRecommendation) GoString() string { - return s.String() +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *SendWorkflowStepActionInput) SetImageBuildVersionArn(v string) *SendWorkflowStepActionInput { + s.ImageBuildVersionArn = &v + return s } -// SetText sets the Text field's value. -func (s *RemediationRecommendation) SetText(v string) *RemediationRecommendation { - s.Text = &v +// SetReason sets the Reason field's value. +func (s *SendWorkflowStepActionInput) SetReason(v string) *SendWorkflowStepActionInput { + s.Reason = &v return s } -// SetUrl sets the Url field's value. -func (s *RemediationRecommendation) SetUrl(v string) *RemediationRecommendation { - s.Url = &v +// SetStepExecutionId sets the StepExecutionId field's value. +func (s *SendWorkflowStepActionInput) SetStepExecutionId(v string) *SendWorkflowStepActionInput { + s.StepExecutionId = &v return s } -// The resource that you are trying to create already exists. -type ResourceAlreadyExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type SendWorkflowStepActionOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image build version that received the + // action request. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + + // The workflow step that sent the step action. + StepExecutionId *string `locationName:"stepExecutionId" type:"string"` } // String returns the string representation. @@ -22572,7 +25047,7 @@ type ResourceAlreadyExistsException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceAlreadyExistsException) String() string { +func (s SendWorkflowStepActionOutput) String() string { return awsutil.Prettify(s) } @@ -22581,51 +25056,30 @@ func (s ResourceAlreadyExistsException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceAlreadyExistsException) GoString() string { +func (s SendWorkflowStepActionOutput) GoString() string { return s.String() } -func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { - return &ResourceAlreadyExistsException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceAlreadyExistsException) Code() string { - return "ResourceAlreadyExistsException" -} - -// Message returns the exception's message. -func (s *ResourceAlreadyExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceAlreadyExistsException) OrigErr() error { - return nil -} - -func (s *ResourceAlreadyExistsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetClientToken sets the ClientToken field's value. +func (s *SendWorkflowStepActionOutput) SetClientToken(v string) *SendWorkflowStepActionOutput { + s.ClientToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceAlreadyExistsException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *SendWorkflowStepActionOutput) SetImageBuildVersionArn(v string) *SendWorkflowStepActionOutput { + s.ImageBuildVersionArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceAlreadyExistsException) RequestID() string { - return s.RespMetadata.RequestID +// SetStepExecutionId sets the StepExecutionId field's value. +func (s *SendWorkflowStepActionOutput) SetStepExecutionId(v string) *SendWorkflowStepActionOutput { + s.StepExecutionId = &v + return s } -// You have attempted to mutate or delete a resource with a dependency that -// prohibits this action. See the error message for more details. -type ResourceDependencyException struct { +// This exception is thrown when the service encounters an unrecoverable exception. +type ServiceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -22637,7 +25091,7 @@ type ResourceDependencyException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceDependencyException) String() string { +func (s ServiceException) String() string { return awsutil.Prettify(s) } @@ -22646,23 +25100,23 @@ func (s ResourceDependencyException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceDependencyException) GoString() string { +func (s ServiceException) GoString() string { return s.String() } -func newErrorResourceDependencyException(v protocol.ResponseMetadata) error { - return &ResourceDependencyException{ +func newErrorServiceException(v protocol.ResponseMetadata) error { + return &ServiceException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceDependencyException) Code() string { - return "ResourceDependencyException" +func (s *ServiceException) Code() string { + return "ServiceException" } // Message returns the exception's message. -func (s *ResourceDependencyException) Message() string { +func (s *ServiceException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -22670,27 +25124,27 @@ func (s *ResourceDependencyException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceDependencyException) OrigErr() error { +func (s *ServiceException) OrigErr() error { return nil } -func (s *ResourceDependencyException) Error() string { +func (s *ServiceException) 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 *ResourceDependencyException) StatusCode() int { +func (s *ServiceException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceDependencyException) RequestID() string { +func (s *ServiceException) RequestID() string { return s.RespMetadata.RequestID } -// The resource that you are trying to operate on is currently in use. Review -// the message details and retry later. -type ResourceInUseException struct { +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -22702,7 +25156,7 @@ type ResourceInUseException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceInUseException) String() string { +func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } @@ -22711,23 +25165,23 @@ func (s ResourceInUseException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceInUseException) GoString() string { +func (s ServiceQuotaExceededException) GoString() string { return s.String() } -func newErrorResourceInUseException(v protocol.ResponseMetadata) error { - return &ResourceInUseException{ +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceInUseException) Code() string { - return "ResourceInUseException" +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" } // Message returns the exception's message. -func (s *ResourceInUseException) Message() string { +func (s *ServiceQuotaExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -22735,26 +25189,26 @@ func (s *ResourceInUseException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceInUseException) OrigErr() error { +func (s *ServiceQuotaExceededException) OrigErr() error { return nil } -func (s *ResourceInUseException) Error() string { +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 *ResourceInUseException) StatusCode() int { +func (s *ServiceQuotaExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceInUseException) RequestID() string { +func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// At least one of the resources referenced by your request does not exist. -type ResourceNotFoundException struct { +// The service is unable to process your request at this time. +type ServiceUnavailableException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -22766,7 +25220,7 @@ type ResourceNotFoundException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) String() string { +func (s ServiceUnavailableException) String() string { return awsutil.Prettify(s) } @@ -22775,23 +25229,23 @@ func (s ResourceNotFoundException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) GoString() string { +func (s ServiceUnavailableException) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ +func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { + return &ServiceUnavailableException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" +func (s *ServiceUnavailableException) Code() string { + return "ServiceUnavailableException" } // Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { +func (s *ServiceUnavailableException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -22799,31 +25253,41 @@ func (s *ResourceNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { +func (s *ServiceUnavailableException) OrigErr() error { return nil } -func (s *ResourceNotFoundException) Error() string { +func (s *ServiceUnavailableException) 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 { +func (s *ServiceUnavailableException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { +func (s *ServiceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } -// The current state of an impacted resource. -type ResourceState struct { +// Includes counts by severity level for medium severity and higher level findings, +// plus a total for all of the findings for the specified filter. +type SeverityCounts struct { _ struct{} `type:"structure"` - // Shows the current lifecycle policy action that was applied to an impacted - // resource. - Status *string `locationName:"status" type:"string" enum:"ResourceStatus"` + // The total number of findings across all severity levels for the specified + // filter. + All *int64 `locationName:"all" type:"long"` + + // The number of critical severity findings for the specified filter. + Critical *int64 `locationName:"critical" type:"long"` + + // The number of high severity findings for the specified filter. + High *int64 `locationName:"high" type:"long"` + + // The number of medium severity findings for the specified filter. + Medium *int64 `locationName:"medium" type:"long"` } // String returns the string representation. @@ -22831,7 +25295,7 @@ type ResourceState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceState) String() string { +func (s SeverityCounts) String() string { return awsutil.Prettify(s) } @@ -22840,23 +25304,47 @@ func (s ResourceState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceState) GoString() string { +func (s SeverityCounts) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *ResourceState) SetStatus(v string) *ResourceState { - s.Status = &v +// SetAll sets the All field's value. +func (s *SeverityCounts) SetAll(v int64) *SeverityCounts { + s.All = &v return s } -// Additional rules to specify resources that should be exempt from ad-hoc lifecycle -// actions. -type ResourceStateUpdateExclusionRules struct { +// SetCritical sets the Critical field's value. +func (s *SeverityCounts) SetCritical(v int64) *SeverityCounts { + s.Critical = &v + return s +} + +// SetHigh sets the High field's value. +func (s *SeverityCounts) SetHigh(v int64) *SeverityCounts { + s.High = &v + return s +} + +// SetMedium sets the Medium field's value. +func (s *SeverityCounts) SetMedium(v int64) *SeverityCounts { + s.Medium = &v + return s +} + +type StartImagePipelineExecutionInput struct { _ struct{} `type:"structure"` - // Defines criteria for AMIs that are excluded from lifecycle actions. - Amis *LifecyclePolicyDetailExclusionRulesAmis `locationName:"amis" type:"structure"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the image pipeline that you want to manually + // invoke. + // + // ImagePipelineArn is a required field + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` } // String returns the string representation. @@ -22864,7 +25352,7 @@ type ResourceStateUpdateExclusionRules struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStateUpdateExclusionRules) String() string { +func (s StartImagePipelineExecutionInput) String() string { return awsutil.Prettify(s) } @@ -22873,17 +25361,18 @@ func (s ResourceStateUpdateExclusionRules) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStateUpdateExclusionRules) GoString() string { +func (s StartImagePipelineExecutionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResourceStateUpdateExclusionRules) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourceStateUpdateExclusionRules"} - if s.Amis != nil { - if err := s.Amis.Validate(); err != nil { - invalidParams.AddNested("Amis", err.(request.ErrInvalidParams)) - } +func (s *StartImagePipelineExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartImagePipelineExecutionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ImagePipelineArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) } if invalidParams.Len() > 0 { @@ -22892,25 +25381,29 @@ func (s *ResourceStateUpdateExclusionRules) Validate() error { return nil } -// SetAmis sets the Amis field's value. -func (s *ResourceStateUpdateExclusionRules) SetAmis(v *LifecyclePolicyDetailExclusionRulesAmis) *ResourceStateUpdateExclusionRules { - s.Amis = v +// SetClientToken sets the ClientToken field's value. +func (s *StartImagePipelineExecutionInput) SetClientToken(v string) *StartImagePipelineExecutionInput { + s.ClientToken = &v return s } -// Specifies if the lifecycle policy should apply actions to selected resources. -type ResourceStateUpdateIncludeResources struct { +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *StartImagePipelineExecutionInput) SetImagePipelineArn(v string) *StartImagePipelineExecutionInput { + s.ImagePipelineArn = &v + return s +} + +type StartImagePipelineExecutionOutput struct { _ struct{} `type:"structure"` - // Specifies whether the lifecycle action should apply to distributed AMIs - Amis *bool `locationName:"amis" type:"boolean"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // Specifies whether the lifecycle action should apply to distributed containers. - Containers *bool `locationName:"containers" type:"boolean"` + // The Amazon Resource Name (ARN) of the image that the request created. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - // Specifies whether the lifecycle action should apply to snapshots associated - // with distributed AMIs. - Snapshots *bool `locationName:"snapshots" type:"boolean"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -22918,7 +25411,7 @@ type ResourceStateUpdateIncludeResources struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStateUpdateIncludeResources) String() string { +func (s StartImagePipelineExecutionOutput) String() string { return awsutil.Prettify(s) } @@ -22927,60 +25420,60 @@ func (s ResourceStateUpdateIncludeResources) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStateUpdateIncludeResources) GoString() string { +func (s StartImagePipelineExecutionOutput) GoString() string { return s.String() } -// SetAmis sets the Amis field's value. -func (s *ResourceStateUpdateIncludeResources) SetAmis(v bool) *ResourceStateUpdateIncludeResources { - s.Amis = &v +// SetClientToken sets the ClientToken field's value. +func (s *StartImagePipelineExecutionOutput) SetClientToken(v string) *StartImagePipelineExecutionOutput { + s.ClientToken = &v return s } -// SetContainers sets the Containers field's value. -func (s *ResourceStateUpdateIncludeResources) SetContainers(v bool) *ResourceStateUpdateIncludeResources { - s.Containers = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *StartImagePipelineExecutionOutput) SetImageBuildVersionArn(v string) *StartImagePipelineExecutionOutput { + s.ImageBuildVersionArn = &v return s } -// SetSnapshots sets the Snapshots field's value. -func (s *ResourceStateUpdateIncludeResources) SetSnapshots(v bool) *ResourceStateUpdateIncludeResources { - s.Snapshots = &v +// SetRequestId sets the RequestId field's value. +func (s *StartImagePipelineExecutionOutput) SetRequestId(v string) *StartImagePipelineExecutionOutput { + s.RequestId = &v return s } -// Properties that configure export from your build instance to a compatible -// file format for your VM. -type S3ExportConfiguration struct { +type StartResourceStateUpdateInput struct { _ struct{} `type:"structure"` - // Export the updated image to one of the following supported disk image formats: - // - // * Virtual Hard Disk (VHD) – Compatible with Citrix Xen and Microsoft - // Hyper-V virtualization products. - // - // * Stream-optimized ESX Virtual Machine Disk (VMDK) – Compatible with - // VMware ESX and VMware vSphere versions 4, 5, and 6. - // - // * Raw – Raw format. - // - // DiskImageFormat is a required field - DiskImageFormat *string `locationName:"diskImageFormat" type:"string" required:"true" enum:"DiskImageFormat"` + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The name of the role that grants VM Import/Export permission to export images - // to your S3 bucket. + // Skip action on the image resource and associated resources if specified exclusion + // rules are met. + ExclusionRules *ResourceStateUpdateExclusionRules `locationName:"exclusionRules" type:"structure"` + + // The name or Amazon Resource Name (ARN) of the IAM role that’s used to update + // image state. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // A list of image resources to update state for. + IncludeResources *ResourceStateUpdateIncludeResources `locationName:"includeResources" type:"structure"` + + // The ARN of the Image Builder resource that is updated. The state update might + // also impact associated resources. // - // RoleName is a required field - RoleName *string `locationName:"roleName" min:"1" type:"string" required:"true"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - // The S3 bucket in which to store the output disk images for your VM. + // Indicates the lifecycle action to take for this request. // - // S3Bucket is a required field - S3Bucket *string `locationName:"s3Bucket" min:"1" type:"string" required:"true"` + // State is a required field + State *ResourceState `locationName:"state" type:"structure" required:"true"` - // The Amazon S3 path for the bucket where the output disk images for your VM - // are stored. - S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"` + // The timestamp that indicates when resources are updated by a lifecycle action. + UpdateAt *time.Time `locationName:"updateAt" type:"timestamp"` } // String returns the string representation. @@ -22988,7 +25481,7 @@ type S3ExportConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s S3ExportConfiguration) String() string { +func (s StartResourceStateUpdateInput) String() string { return awsutil.Prettify(s) } @@ -22997,30 +25490,29 @@ func (s S3ExportConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s S3ExportConfiguration) GoString() string { +func (s StartResourceStateUpdateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *S3ExportConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3ExportConfiguration"} - if s.DiskImageFormat == nil { - invalidParams.Add(request.NewErrParamRequired("DiskImageFormat")) - } - if s.RoleName == nil { - invalidParams.Add(request.NewErrParamRequired("RoleName")) +func (s *StartResourceStateUpdateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartResourceStateUpdateInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.RoleName != nil && len(*s.RoleName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) } - if s.S3Bucket == nil { - invalidParams.Add(request.NewErrParamRequired("S3Bucket")) + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.S3Bucket != nil && len(*s.S3Bucket) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 1)) + if s.State == nil { + invalidParams.Add(request.NewErrParamRequired("State")) } - if s.S3Prefix != nil && len(*s.S3Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1)) + if s.ExclusionRules != nil { + if err := s.ExclusionRules.Validate(); err != nil { + invalidParams.AddNested("ExclusionRules", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -23029,39 +25521,98 @@ func (s *S3ExportConfiguration) Validate() error { return nil } -// SetDiskImageFormat sets the DiskImageFormat field's value. -func (s *S3ExportConfiguration) SetDiskImageFormat(v string) *S3ExportConfiguration { - s.DiskImageFormat = &v +// SetClientToken sets the ClientToken field's value. +func (s *StartResourceStateUpdateInput) SetClientToken(v string) *StartResourceStateUpdateInput { + s.ClientToken = &v return s } -// SetRoleName sets the RoleName field's value. -func (s *S3ExportConfiguration) SetRoleName(v string) *S3ExportConfiguration { - s.RoleName = &v +// SetExclusionRules sets the ExclusionRules field's value. +func (s *StartResourceStateUpdateInput) SetExclusionRules(v *ResourceStateUpdateExclusionRules) *StartResourceStateUpdateInput { + s.ExclusionRules = v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *StartResourceStateUpdateInput) SetExecutionRole(v string) *StartResourceStateUpdateInput { + s.ExecutionRole = &v + return s +} + +// SetIncludeResources sets the IncludeResources field's value. +func (s *StartResourceStateUpdateInput) SetIncludeResources(v *ResourceStateUpdateIncludeResources) *StartResourceStateUpdateInput { + s.IncludeResources = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *StartResourceStateUpdateInput) SetResourceArn(v string) *StartResourceStateUpdateInput { + s.ResourceArn = &v + return s +} + +// SetState sets the State field's value. +func (s *StartResourceStateUpdateInput) SetState(v *ResourceState) *StartResourceStateUpdateInput { + s.State = v + return s +} + +// SetUpdateAt sets the UpdateAt field's value. +func (s *StartResourceStateUpdateInput) SetUpdateAt(v time.Time) *StartResourceStateUpdateInput { + s.UpdateAt = &v return s } -// SetS3Bucket sets the S3Bucket field's value. -func (s *S3ExportConfiguration) SetS3Bucket(v string) *S3ExportConfiguration { - s.S3Bucket = &v +type StartResourceStateUpdateOutput struct { + _ struct{} `type:"structure"` + + // Identifies the lifecycle runtime instance that started the resource state + // update. + LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` + + // The requested ARN of the Image Builder resource for the asynchronous update. + ResourceArn *string `locationName:"resourceArn" 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 StartResourceStateUpdateOutput) 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 StartResourceStateUpdateOutput) GoString() string { + return s.String() +} + +// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. +func (s *StartResourceStateUpdateOutput) SetLifecycleExecutionId(v string) *StartResourceStateUpdateOutput { + s.LifecycleExecutionId = &v return s } -// SetS3Prefix sets the S3Prefix field's value. -func (s *S3ExportConfiguration) SetS3Prefix(v string) *S3ExportConfiguration { - s.S3Prefix = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *StartResourceStateUpdateOutput) SetResourceArn(v string) *StartResourceStateUpdateOutput { + s.ResourceArn = &v return s } -// Amazon S3 logging configuration. -type S3Logs struct { +// Contains settings for the Systems Manager agent on your build instance. +type SystemsManagerAgent struct { _ struct{} `type:"structure"` - // The S3 bucket in which to store the logs. - S3BucketName *string `locationName:"s3BucketName" min:"1" type:"string"` - - // The Amazon S3 path to the bucket where the logs are stored. - S3KeyPrefix *string `locationName:"s3KeyPrefix" min:"1" type:"string"` + // Controls whether the Systems Manager agent is removed from your final build + // image, prior to creating the new AMI. If this is set to true, then the agent + // is removed from the final image. If it's set to false, then the agent is + // left in, so that it is included in the new AMI. The default value is false. + UninstallAfterBuild *bool `locationName:"uninstallAfterBuild" type:"boolean"` } // String returns the string representation. @@ -23069,7 +25620,7 @@ type S3Logs struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s S3Logs) String() string { +func (s SystemsManagerAgent) String() string { return awsutil.Prettify(s) } @@ -23078,65 +25629,28 @@ func (s S3Logs) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s S3Logs) GoString() string { +func (s SystemsManagerAgent) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *S3Logs) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3Logs"} - if s.S3BucketName != nil && len(*s.S3BucketName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 1)) - } - if s.S3KeyPrefix != nil && len(*s.S3KeyPrefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3KeyPrefix", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetS3BucketName sets the S3BucketName field's value. -func (s *S3Logs) SetS3BucketName(v string) *S3Logs { - s.S3BucketName = &v - return s -} - -// SetS3KeyPrefix sets the S3KeyPrefix field's value. -func (s *S3Logs) SetS3KeyPrefix(v string) *S3Logs { - s.S3KeyPrefix = &v +// SetUninstallAfterBuild sets the UninstallAfterBuild field's value. +func (s *SystemsManagerAgent) SetUninstallAfterBuild(v bool) *SystemsManagerAgent { + s.UninstallAfterBuild = &v return s } -// A schedule configures how often and when a pipeline will automatically create -// a new image. -type Schedule struct { +type TagResourceInput struct { _ struct{} `type:"structure"` - // The condition configures when the pipeline should trigger a new image build. - // When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, - // and you use semantic version filters on the base image or components in your - // image recipe, EC2 Image Builder will build a new image only when there are - // new versions of the image or components in your recipe that match the semantic - // version filter. When it is set to EXPRESSION_MATCH_ONLY, it will build a - // new image every time the CRON expression matches the current time. For semantic - // version syntax, see CreateComponent (https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html) - // in the EC2 Image Builder API Reference. - PipelineExecutionStartCondition *string `locationName:"pipelineExecutionStartCondition" type:"string" enum:"PipelineExecutionStartCondition"` - - // The cron expression determines how often EC2 Image Builder evaluates your - // pipelineExecutionStartCondition. + // The Amazon Resource Name (ARN) of the resource that you want to tag. // - // For information on how to format a cron expression in Image Builder, see - // Use cron expressions in EC2 Image Builder (https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html). - ScheduleExpression *string `locationName:"scheduleExpression" min:"1" type:"string"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` - // The timezone that applies to the scheduling expression. For example, "Etc/UTC", - // "America/Los_Angeles" in the IANA timezone format (https://www.joda.org/joda-time/timezones.html). - // If not specified this defaults to UTC. - Timezone *string `locationName:"timezone" min:"3" type:"string"` + // The tags to apply to the resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` } // String returns the string representation. @@ -23144,7 +25658,7 @@ type Schedule struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Schedule) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } @@ -23153,18 +25667,24 @@ func (s Schedule) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Schedule) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Schedule) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Schedule"} - if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Timezone != nil && len(*s.Timezone) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Timezone", 3)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { @@ -23173,30 +25693,20 @@ func (s *Schedule) Validate() error { return nil } -// SetPipelineExecutionStartCondition sets the PipelineExecutionStartCondition field's value. -func (s *Schedule) SetPipelineExecutionStartCondition(v string) *Schedule { - s.PipelineExecutionStartCondition = &v - return s -} - -// SetScheduleExpression sets the ScheduleExpression field's value. -func (s *Schedule) SetScheduleExpression(v string) *Schedule { - s.ScheduleExpression = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -// SetTimezone sets the Timezone field's value. -func (s *Schedule) SetTimezone(v string) *Schedule { - s.Timezone = &v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v return s } -// This exception is thrown when the service encounters an unrecoverable exception. -type ServiceException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +type TagResourceOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -23204,7 +25714,7 @@ type ServiceException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceException) String() string { +func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } @@ -23213,55 +25723,24 @@ func (s ServiceException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceException) GoString() string { +func (s TagResourceOutput) GoString() string { return s.String() } -func newErrorServiceException(v protocol.ResponseMetadata) error { - return &ServiceException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ServiceException) Code() string { - return "ServiceException" -} - -// Message returns the exception's message. -func (s *ServiceException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceException) OrigErr() error { - return nil -} - -func (s *ServiceException) 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 *ServiceException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ServiceException) RequestID() string { - return s.RespMetadata.RequestID -} +// The container repository where the output container image is stored. +type TargetContainerRepository struct { + _ struct{} `type:"structure"` -// You have exceeded the number of permitted resources or operations for this -// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). -type ServiceQuotaExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The name of the container repository where the output container image is + // stored. This name is prefixed by the repository location. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` - Message_ *string `locationName:"message" type:"string"` + // Specifies the service in which this image was registered. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true" enum:"ContainerRepositoryService"` } // String returns the string representation. @@ -23269,7 +25748,7 @@ type ServiceQuotaExceededException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceQuotaExceededException) String() string { +func (s TargetContainerRepository) String() string { return awsutil.Prettify(s) } @@ -23278,54 +25757,53 @@ func (s ServiceQuotaExceededException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceQuotaExceededException) GoString() string { +func (s TargetContainerRepository) GoString() string { return s.String() } -func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { - return &ServiceQuotaExceededException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetContainerRepository) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetContainerRepository"} + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) } -} - -// 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_ + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceQuotaExceededException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } 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 +// SetRepositoryName sets the RepositoryName field's value. +func (s *TargetContainerRepository) SetRepositoryName(v string) *TargetContainerRepository { + s.RepositoryName = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ServiceQuotaExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetService sets the Service field's value. +func (s *TargetContainerRepository) SetService(v string) *TargetContainerRepository { + s.Service = &v + return s } -// The service is unable to process your request at this time. -type ServiceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` - Message_ *string `locationName:"message" type:"string"` + // The Amazon Resource Name (ARN) of the resource that you want to untag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // The tag keys to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -23333,7 +25811,7 @@ type ServiceUnavailableException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceUnavailableException) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } @@ -23342,65 +25820,46 @@ func (s ServiceUnavailableException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceUnavailableException) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } -func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { - return &ServiceUnavailableException{ - RespMetadata: v, +// 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")) } -} - -// Code returns the exception type name. -func (s *ServiceUnavailableException) Code() string { - return "ServiceUnavailableException" -} - -// Message returns the exception's message. -func (s *ServiceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceUnavailableException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ServiceUnavailableException) 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 *ServiceUnavailableException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ServiceUnavailableException) RequestID() string { - return s.RespMetadata.RequestID +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s } -// Includes counts by severity level for medium severity and higher level findings, -// plus a total for all of the findings for the specified filter. -type SeverityCounts struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` - - // The total number of findings across all severity levels for the specified - // filter. - All *int64 `locationName:"all" type:"long"` - - // The number of critical severity findings for the specified filter. - Critical *int64 `locationName:"critical" type:"long"` - - // The number of high severity findings for the specified filter. - High *int64 `locationName:"high" type:"long"` - - // The number of medium severity findings for the specified filter. - Medium *int64 `locationName:"medium" type:"long"` } // String returns the string representation. @@ -23408,7 +25867,7 @@ type SeverityCounts struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SeverityCounts) String() string { +func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } @@ -23417,35 +25876,11 @@ func (s SeverityCounts) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SeverityCounts) GoString() string { +func (s UntagResourceOutput) GoString() string { return s.String() } -// SetAll sets the All field's value. -func (s *SeverityCounts) SetAll(v int64) *SeverityCounts { - s.All = &v - return s -} - -// SetCritical sets the Critical field's value. -func (s *SeverityCounts) SetCritical(v int64) *SeverityCounts { - s.Critical = &v - return s -} - -// SetHigh sets the High field's value. -func (s *SeverityCounts) SetHigh(v int64) *SeverityCounts { - s.High = &v - return s -} - -// SetMedium sets the Medium field's value. -func (s *SeverityCounts) SetMedium(v int64) *SeverityCounts { - s.Medium = &v - return s -} - -type StartImagePipelineExecutionInput struct { +type UpdateDistributionConfigurationInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -23453,11 +25888,19 @@ type StartImagePipelineExecutionInput struct { // in the Amazon EC2 API Reference. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The Amazon Resource Name (ARN) of the image pipeline that you want to manually - // invoke. + // The description of the distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the distribution configuration that you + // want to update. // - // ImagePipelineArn is a required field - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` + // DistributionConfigurationArn is a required field + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string" required:"true"` + + // The distributions of the distribution configuration. + // + // Distributions is a required field + Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"` } // String returns the string representation. @@ -23465,7 +25908,7 @@ type StartImagePipelineExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartImagePipelineExecutionInput) String() string { +func (s UpdateDistributionConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -23474,18 +25917,34 @@ func (s StartImagePipelineExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartImagePipelineExecutionInput) GoString() string { +func (s UpdateDistributionConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *StartImagePipelineExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartImagePipelineExecutionInput"} +func (s *UpdateDistributionConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionConfigurationInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.ImagePipelineArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.DistributionConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) + } + if s.Distributions == nil { + invalidParams.Add(request.NewErrParamRequired("Distributions")) + } + if s.Distributions != nil { + for i, v := range s.Distributions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -23495,25 +25954,38 @@ func (s *StartImagePipelineExecutionInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *StartImagePipelineExecutionInput) SetClientToken(v string) *StartImagePipelineExecutionInput { +func (s *UpdateDistributionConfigurationInput) SetClientToken(v string) *UpdateDistributionConfigurationInput { s.ClientToken = &v return s } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *StartImagePipelineExecutionInput) SetImagePipelineArn(v string) *StartImagePipelineExecutionInput { - s.ImagePipelineArn = &v +// SetDescription sets the Description field's value. +func (s *UpdateDistributionConfigurationInput) SetDescription(v string) *UpdateDistributionConfigurationInput { + s.Description = &v return s } -type StartImagePipelineExecutionOutput struct { +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *UpdateDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationInput { + s.DistributionConfigurationArn = &v + return s +} + +// SetDistributions sets the Distributions field's value. +func (s *UpdateDistributionConfigurationInput) SetDistributions(v []*Distribution) *UpdateDistributionConfigurationInput { + s.Distributions = v + return s +} + +type UpdateDistributionConfigurationOutput struct { _ struct{} `type:"structure"` // The client token that uniquely identifies the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the image that the request created. - ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` + // The Amazon Resource Name (ARN) of the distribution configuration that was + // updated by this request. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -23524,7 +25996,7 @@ type StartImagePipelineExecutionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartImagePipelineExecutionOutput) String() string { +func (s UpdateDistributionConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -23533,29 +26005,29 @@ func (s StartImagePipelineExecutionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartImagePipelineExecutionOutput) GoString() string { +func (s UpdateDistributionConfigurationOutput) GoString() string { return s.String() } // SetClientToken sets the ClientToken field's value. -func (s *StartImagePipelineExecutionOutput) SetClientToken(v string) *StartImagePipelineExecutionOutput { +func (s *UpdateDistributionConfigurationOutput) SetClientToken(v string) *UpdateDistributionConfigurationOutput { s.ClientToken = &v return s } -// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. -func (s *StartImagePipelineExecutionOutput) SetImageBuildVersionArn(v string) *StartImagePipelineExecutionOutput { - s.ImageBuildVersionArn = &v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *UpdateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationOutput { + s.DistributionConfigurationArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *StartImagePipelineExecutionOutput) SetRequestId(v string) *StartImagePipelineExecutionOutput { +func (s *UpdateDistributionConfigurationOutput) SetRequestId(v string) *UpdateDistributionConfigurationOutput { s.RequestId = &v return s } -type StartResourceStateUpdateInput struct { +type UpdateImagePipelineInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -23563,30 +26035,56 @@ type StartResourceStateUpdateInput struct { // in the Amazon EC2 API Reference. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // Skip action on the image resource and associated resources if specified exclusion - // rules are met. - ExclusionRules *ResourceStateUpdateExclusionRules `locationName:"exclusionRules" type:"structure"` + // The Amazon Resource Name (ARN) of the container pipeline to update. + ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - // The name or Amazon Resource Name (ARN) of the IAM role that’s used to update - // image state. + // The description of the image pipeline. + Description *string `locationName:"description" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the distribution configuration that Image + // Builder uses to configure and distribute images that this image pipeline + // has updated. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // Collects additional information about the image being created, including + // the operating system (OS) version and package list. This information is used + // to enhance the overall experience of using EC2 Image Builder. Enabled by + // default. + EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` + + // The name or Amazon Resource Name (ARN) for the IAM role you create that grants + // Image Builder access to perform workflow actions. ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` - // A list of image resources to update state for. - IncludeResources *ResourceStateUpdateIncludeResources `locationName:"includeResources" type:"structure"` + // The Amazon Resource Name (ARN) of the image pipeline that you want to update. + // + // ImagePipelineArn is a required field + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` - // The ARN of the Image Builder resource that is updated. The state update might - // also impact associated resources. + // The Amazon Resource Name (ARN) of the image recipe that will be used to configure + // images updated by this image pipeline. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + + // Contains settings for vulnerability scans. + ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + + // The image test configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that Image + // Builder uses to build images that this image pipeline has updated. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` + + // The schedule of the image pipeline. + Schedule *Schedule `locationName:"schedule" type:"structure"` - // Indicates the lifecycle action to take for this request. - // - // State is a required field - State *ResourceState `locationName:"state" type:"structure" required:"true"` + // The status of the image pipeline. + Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` - // The timestamp that indicates when resources are updated by a lifecycle action. - UpdateAt *time.Time `locationName:"updateAt" type:"timestamp"` + // Contains the workflows to run for the pipeline. + Workflows []*WorkflowConfiguration `locationName:"workflows" type:"list"` } // String returns the string representation. @@ -23594,7 +26092,7 @@ type StartResourceStateUpdateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartResourceStateUpdateInput) String() string { +func (s UpdateImagePipelineInput) String() string { return awsutil.Prettify(s) } @@ -23603,28 +26101,51 @@ func (s StartResourceStateUpdateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartResourceStateUpdateInput) GoString() string { +func (s UpdateImagePipelineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *StartResourceStateUpdateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartResourceStateUpdateInput"} +func (s *UpdateImagePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateImagePipelineInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + if s.ImagePipelineArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) } - if s.State == nil { - invalidParams.Add(request.NewErrParamRequired("State")) + if s.InfrastructureConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) } - if s.ExclusionRules != nil { - if err := s.ExclusionRules.Validate(); err != nil { - invalidParams.AddNested("ExclusionRules", err.(request.ErrInvalidParams)) + if s.ImageScanningConfiguration != nil { + if err := s.ImageScanningConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ImageTestsConfiguration != nil { + if err := s.ImageTestsConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } + if s.Workflows != nil { + for i, v := range s.Workflows { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Workflows", i), err.(request.ErrInvalidParams)) + } } } @@ -23635,225 +26156,101 @@ func (s *StartResourceStateUpdateInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *StartResourceStateUpdateInput) SetClientToken(v string) *StartResourceStateUpdateInput { +func (s *UpdateImagePipelineInput) SetClientToken(v string) *UpdateImagePipelineInput { s.ClientToken = &v return s } -// SetExclusionRules sets the ExclusionRules field's value. -func (s *StartResourceStateUpdateInput) SetExclusionRules(v *ResourceStateUpdateExclusionRules) *StartResourceStateUpdateInput { - s.ExclusionRules = v +// SetContainerRecipeArn sets the ContainerRecipeArn field's value. +func (s *UpdateImagePipelineInput) SetContainerRecipeArn(v string) *UpdateImagePipelineInput { + s.ContainerRecipeArn = &v return s } -// SetExecutionRole sets the ExecutionRole field's value. -func (s *StartResourceStateUpdateInput) SetExecutionRole(v string) *StartResourceStateUpdateInput { - s.ExecutionRole = &v +// SetDescription sets the Description field's value. +func (s *UpdateImagePipelineInput) SetDescription(v string) *UpdateImagePipelineInput { + s.Description = &v return s } -// SetIncludeResources sets the IncludeResources field's value. -func (s *StartResourceStateUpdateInput) SetIncludeResources(v *ResourceStateUpdateIncludeResources) *StartResourceStateUpdateInput { - s.IncludeResources = v +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *UpdateImagePipelineInput) SetDistributionConfigurationArn(v string) *UpdateImagePipelineInput { + s.DistributionConfigurationArn = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *StartResourceStateUpdateInput) SetResourceArn(v string) *StartResourceStateUpdateInput { - s.ResourceArn = &v +// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. +func (s *UpdateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *UpdateImagePipelineInput { + s.EnhancedImageMetadataEnabled = &v return s } -// SetState sets the State field's value. -func (s *StartResourceStateUpdateInput) SetState(v *ResourceState) *StartResourceStateUpdateInput { - s.State = v +// SetExecutionRole sets the ExecutionRole field's value. +func (s *UpdateImagePipelineInput) SetExecutionRole(v string) *UpdateImagePipelineInput { + s.ExecutionRole = &v return s } -// SetUpdateAt sets the UpdateAt field's value. -func (s *StartResourceStateUpdateInput) SetUpdateAt(v time.Time) *StartResourceStateUpdateInput { - s.UpdateAt = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *UpdateImagePipelineInput) SetImagePipelineArn(v string) *UpdateImagePipelineInput { + s.ImagePipelineArn = &v return s } -type StartResourceStateUpdateOutput struct { - _ struct{} `type:"structure"` - - // Identifies the lifecycle runtime instance that started the resource state - // update. - LifecycleExecutionId *string `locationName:"lifecycleExecutionId" type:"string"` - - // The requested ARN of the Image Builder resource for the asynchronous update. - ResourceArn *string `locationName:"resourceArn" 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 StartResourceStateUpdateOutput) 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 StartResourceStateUpdateOutput) GoString() string { - return s.String() -} - -// SetLifecycleExecutionId sets the LifecycleExecutionId field's value. -func (s *StartResourceStateUpdateOutput) SetLifecycleExecutionId(v string) *StartResourceStateUpdateOutput { - s.LifecycleExecutionId = &v +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *UpdateImagePipelineInput) SetImageRecipeArn(v string) *UpdateImagePipelineInput { + s.ImageRecipeArn = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *StartResourceStateUpdateOutput) SetResourceArn(v string) *StartResourceStateUpdateOutput { - s.ResourceArn = &v +// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. +func (s *UpdateImagePipelineInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *UpdateImagePipelineInput { + s.ImageScanningConfiguration = v return s } -// Contains settings for the Systems Manager agent on your build instance. -type SystemsManagerAgent struct { - _ struct{} `type:"structure"` - - // Controls whether the Systems Manager agent is removed from your final build - // image, prior to creating the new AMI. If this is set to true, then the agent - // is removed from the final image. If it's set to false, then the agent is - // left in, so that it is included in the new AMI. The default value is false. - UninstallAfterBuild *bool `locationName:"uninstallAfterBuild" 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 SystemsManagerAgent) 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 SystemsManagerAgent) GoString() string { - return s.String() -} - -// SetUninstallAfterBuild sets the UninstallAfterBuild field's value. -func (s *SystemsManagerAgent) SetUninstallAfterBuild(v bool) *SystemsManagerAgent { - s.UninstallAfterBuild = &v +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *UpdateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *UpdateImagePipelineInput { + s.ImageTestsConfiguration = v return s } -type TagResourceInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the resource that you want to tag. - // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` - - // The tags to apply to the resource. - // - // Tags is a required field - Tags map[string]*string `locationName:"tags" min:"1" 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() +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *UpdateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *UpdateImagePipelineInput { + s.InfrastructureConfigurationArn = &v + return s } -// 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) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSchedule sets the Schedule field's value. +func (s *UpdateImagePipelineInput) SetSchedule(v *Schedule) *UpdateImagePipelineInput { + s.Schedule = v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetStatus sets the Status field's value. +func (s *UpdateImagePipelineInput) SetStatus(v string) *UpdateImagePipelineInput { + s.Status = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { - s.Tags = v +// SetWorkflows sets the Workflows field's value. +func (s *UpdateImagePipelineInput) SetWorkflows(v []*WorkflowConfiguration) *UpdateImagePipelineInput { + s.Workflows = v return s } -type TagResourceOutput struct { +type UpdateImagePipelineOutput 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 container repository where the output container image is stored. -type TargetContainerRepository struct { - _ struct{} `type:"structure"` + // The client token that uniquely identifies the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The name of the container repository where the output container image is - // stored. This name is prefixed by the repository location. - // - // RepositoryName is a required field - RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the image pipeline that was updated by + // this request. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` - // Specifies the service in which this image was registered. - // - // Service is a required field - Service *string `locationName:"service" type:"string" required:"true" enum:"ContainerRepositoryService"` + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` } // String returns the string representation. @@ -23861,7 +26258,7 @@ type TargetContainerRepository struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TargetContainerRepository) String() string { +func (s UpdateImagePipelineOutput) String() string { return awsutil.Prettify(s) } @@ -23870,53 +26267,98 @@ func (s TargetContainerRepository) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TargetContainerRepository) GoString() string { +func (s UpdateImagePipelineOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TargetContainerRepository) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TargetContainerRepository"} - if s.RepositoryName == nil { - invalidParams.Add(request.NewErrParamRequired("RepositoryName")) - } - if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) - } - if s.Service == nil { - invalidParams.Add(request.NewErrParamRequired("Service")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetClientToken sets the ClientToken field's value. +func (s *UpdateImagePipelineOutput) SetClientToken(v string) *UpdateImagePipelineOutput { + s.ClientToken = &v + return s } -// SetRepositoryName sets the RepositoryName field's value. -func (s *TargetContainerRepository) SetRepositoryName(v string) *TargetContainerRepository { - s.RepositoryName = &v +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *UpdateImagePipelineOutput) SetImagePipelineArn(v string) *UpdateImagePipelineOutput { + s.ImagePipelineArn = &v return s } -// SetService sets the Service field's value. -func (s *TargetContainerRepository) SetService(v string) *TargetContainerRepository { - s.Service = &v +// SetRequestId sets the RequestId field's value. +func (s *UpdateImagePipelineOutput) SetRequestId(v string) *UpdateImagePipelineOutput { + s.RequestId = &v return s } -type UntagResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type UpdateInfrastructureConfigurationInput struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to untag. + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon EC2 API Reference. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The description of the infrastructure configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that you + // want to update. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` - // The tag keys to remove from the resource. + // The instance metadata options that you can set for the HTTP requests that + // pipeline builds use to launch EC2 build and test instances. For more information + // about instance metadata options, see one of the following links: // - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` + // * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) + // in the Amazon EC2 User Guide for Linux instances. + // + // * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html) + // in the Amazon EC2 Windows Guide for Windows instances. + InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` + + // The instance profile to associate with the instance used to customize your + // Amazon EC2 AMI. + // + // InstanceProfileName is a required field + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"` + + // The instance types of the infrastructure configuration. You can specify one + // or more instance types to use for this build. The service will pick one of + // these instance types based on availability. + InstanceTypes []*string `locationName:"instanceTypes" type:"list"` + + // The key pair of the infrastructure configuration. You can use this to log + // on to and debug the instance used to create your image. + KeyPair *string `locationName:"keyPair" min:"1" type:"string"` + + // The logging configuration of the infrastructure configuration. + Logging *Logging `locationName:"logging" type:"structure"` + + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + + // The security group IDs to associate with the instance used to customize your + // Amazon EC2 AMI. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The Amazon Resource Name (ARN) for the SNS topic to which we send image build + // event notifications. + // + // EC2 Image Builder is unable to send notifications to SNS topics that are + // encrypted using keys from other accounts. The key that is used to encrypt + // the SNS topic must reside in the account that the Image Builder service runs + // under. + SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` + + // The subnet ID to place the instance used to customize your Amazon EC2 AMI + // in. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + + // The terminate instance on failure setting of the infrastructure configuration. + // Set to false if you want Image Builder to retain the instance used to configure + // your AMI if the build or test phase of your workflow fails. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` } // String returns the string representation. @@ -23924,7 +26366,7 @@ type UntagResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) String() string { +func (s UpdateInfrastructureConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -23933,24 +26375,46 @@ func (s UntagResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) GoString() string { +func (s UpdateInfrastructureConfigurationInput) 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")) +func (s *UpdateInfrastructureConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInfrastructureConfigurationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.InfrastructureConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + if s.InstanceProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) + } + if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) + } + if s.KeyPair != nil && len(*s.KeyPair) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) + } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + if s.InstanceMetadataOptions != nil { + if err := s.InstanceMetadataOptions.Validate(); err != nil { + invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams)) + } + } + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -23959,146 +26423,93 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateInfrastructureConfigurationInput) SetClientToken(v string) *UpdateInfrastructureConfigurationInput { + s.ClientToken = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetDescription sets the Description field's value. +func (s *UpdateInfrastructureConfigurationInput) SetDescription(v string) *UpdateInfrastructureConfigurationInput { + s.Description = &v return s } -type UntagResourceOutput struct { - _ struct{} `type:"structure"` +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationInput { + s.InfrastructureConfigurationArn = &v + return s } -// 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) +// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *UpdateInfrastructureConfigurationInput { + s.InstanceMetadataOptions = v + return 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() +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *UpdateInfrastructureConfigurationInput { + s.InstanceProfileName = &v + return s } -type UpdateDistributionConfigurationInput struct { - _ struct{} `type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The description of the distribution configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the distribution configuration that you - // want to update. - // - // DistributionConfigurationArn is a required field - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string" required:"true"` - - // The distributions of the distribution configuration. - // - // Distributions is a required field - Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"` +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *UpdateInfrastructureConfigurationInput { + s.InstanceTypes = v + return s } -// 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 UpdateDistributionConfigurationInput) String() string { - return awsutil.Prettify(s) +// SetKeyPair sets the KeyPair field's value. +func (s *UpdateInfrastructureConfigurationInput) SetKeyPair(v string) *UpdateInfrastructureConfigurationInput { + s.KeyPair = &v + return 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 UpdateDistributionConfigurationInput) GoString() string { - return s.String() +// SetLogging sets the Logging field's value. +func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateInfrastructureConfigurationInput { + s.Logging = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDistributionConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionConfigurationInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.DistributionConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn")) - } - if s.Distributions == nil { - invalidParams.Add(request.NewErrParamRequired("Distributions")) - } - if s.Distributions != nil { - for i, v := range s.Distributions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetResourceTags sets the ResourceTags field's value. +func (s *UpdateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *UpdateInfrastructureConfigurationInput { + s.ResourceTags = v + return s } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateDistributionConfigurationInput) SetClientToken(v string) *UpdateDistributionConfigurationInput { - s.ClientToken = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput { + s.SecurityGroupIds = v return s } -// SetDescription sets the Description field's value. -func (s *UpdateDistributionConfigurationInput) SetDescription(v string) *UpdateDistributionConfigurationInput { - s.Description = &v +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *UpdateInfrastructureConfigurationInput { + s.SnsTopicArn = &v return s } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *UpdateDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationInput { - s.DistributionConfigurationArn = &v +// SetSubnetId sets the SubnetId field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSubnetId(v string) *UpdateInfrastructureConfigurationInput { + s.SubnetId = &v return s } -// SetDistributions sets the Distributions field's value. -func (s *UpdateDistributionConfigurationInput) SetDistributions(v []*Distribution) *UpdateDistributionConfigurationInput { - s.Distributions = v +// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. +func (s *UpdateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *UpdateInfrastructureConfigurationInput { + s.TerminateInstanceOnFailure = &v return s } -type UpdateDistributionConfigurationOutput struct { +type UpdateInfrastructureConfigurationOutput struct { _ struct{} `type:"structure"` // The client token that uniquely identifies the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the distribution configuration that was + // The Amazon Resource Name (ARN) of the infrastructure configuration that was // updated by this request. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` // The request ID that uniquely identifies this request. RequestId *string `locationName:"requestId" min:"1" type:"string"` @@ -24109,7 +26520,7 @@ type UpdateDistributionConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateDistributionConfigurationOutput) String() string { +func (s UpdateInfrastructureConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -24118,29 +26529,29 @@ func (s UpdateDistributionConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateDistributionConfigurationOutput) GoString() string { +func (s UpdateInfrastructureConfigurationOutput) GoString() string { return s.String() } // SetClientToken sets the ClientToken field's value. -func (s *UpdateDistributionConfigurationOutput) SetClientToken(v string) *UpdateDistributionConfigurationOutput { +func (s *UpdateInfrastructureConfigurationOutput) SetClientToken(v string) *UpdateInfrastructureConfigurationOutput { s.ClientToken = &v return s } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *UpdateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationOutput { - s.DistributionConfigurationArn = &v +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *UpdateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationOutput { + s.InfrastructureConfigurationArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDistributionConfigurationOutput) SetRequestId(v string) *UpdateDistributionConfigurationOutput { +func (s *UpdateInfrastructureConfigurationOutput) SetRequestId(v string) *UpdateInfrastructureConfigurationOutput { s.RequestId = &v return s } -type UpdateImagePipelineInput struct { +type UpdateLifecyclePolicyInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -24148,49 +26559,37 @@ type UpdateImagePipelineInput struct { // in the Amazon EC2 API Reference. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The Amazon Resource Name (ARN) of the container pipeline to update. - ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"` - - // The description of the image pipeline. + // Optional description for the lifecycle policy. Description *string `locationName:"description" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the distribution configuration that Image - // Builder uses to configure and distribute images that this image pipeline - // has updated. - DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` - - // Collects additional information about the image being created, including - // the operating system (OS) version and package list. This information is used - // to enhance the overall experience of using EC2 Image Builder. Enabled by - // default. - EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"` - - // The Amazon Resource Name (ARN) of the image pipeline that you want to update. + // The name or Amazon Resource Name (ARN) of the IAM role that Image Builder + // uses to update the lifecycle policy. // - // ImagePipelineArn is a required field - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the image recipe that will be used to configure - // images updated by this image pipeline. - ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + // ExecutionRole is a required field + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string" required:"true"` - // Contains settings for vulnerability scans. - ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` + // The Amazon Resource Name (ARN) of the lifecycle policy resource. + // + // LifecyclePolicyArn is a required field + LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string" required:"true"` - // The image test configuration of the image pipeline. - ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + // The configuration details for a lifecycle policy resource. + // + // PolicyDetails is a required field + PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list" required:"true"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that Image - // Builder uses to build images that this image pipeline has updated. + // Selection criteria for resources that the lifecycle policy applies to. // - // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` + // ResourceSelection is a required field + ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure" required:"true"` - // The schedule of the image pipeline. - Schedule *Schedule `locationName:"schedule" type:"structure"` + // The type of image resource that the lifecycle policy applies to. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"LifecyclePolicyResourceType"` - // The status of the image pipeline. - Status *string `locationName:"status" type:"string" enum:"PipelineStatus"` + // Indicates whether the lifecycle policy resource is enabled. + Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` } // String returns the string representation. @@ -24198,7 +26597,7 @@ type UpdateImagePipelineInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateImagePipelineInput) String() string { +func (s UpdateLifecyclePolicyInput) String() string { return awsutil.Prettify(s) } @@ -24207,38 +26606,53 @@ func (s UpdateImagePipelineInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateImagePipelineInput) GoString() string { +func (s UpdateLifecyclePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateImagePipelineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateImagePipelineInput"} +func (s *UpdateLifecyclePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLifecyclePolicyInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.ImagePipelineArn == nil { - invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn")) + if s.ExecutionRole == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) } - if s.InfrastructureConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) } - if s.ImageScanningConfiguration != nil { - if err := s.ImageScanningConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageScanningConfiguration", err.(request.ErrInvalidParams)) - } + if s.LifecyclePolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) } - if s.ImageTestsConfiguration != nil { - if err := s.ImageTestsConfiguration.Validate(); err != nil { - invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) + if s.PolicyDetails == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyDetails")) + } + if s.PolicyDetails != nil && len(s.PolicyDetails) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyDetails", 1)) + } + if s.ResourceSelection == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceSelection")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.PolicyDetails != nil { + for i, v := range s.PolicyDetails { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyDetails", i), err.(request.ErrInvalidParams)) + } } } - if s.Schedule != nil { - if err := s.Schedule.Validate(); err != nil { - invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + if s.ResourceSelection != nil { + if err := s.ResourceSelection.Validate(); err != nil { + invalidParams.AddNested("ResourceSelection", err.(request.ErrInvalidParams)) } } @@ -24249,89 +26663,94 @@ func (s *UpdateImagePipelineInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *UpdateImagePipelineInput) SetClientToken(v string) *UpdateImagePipelineInput { +func (s *UpdateLifecyclePolicyInput) SetClientToken(v string) *UpdateLifecyclePolicyInput { s.ClientToken = &v return s } -// SetContainerRecipeArn sets the ContainerRecipeArn field's value. -func (s *UpdateImagePipelineInput) SetContainerRecipeArn(v string) *UpdateImagePipelineInput { - s.ContainerRecipeArn = &v - return s -} - // SetDescription sets the Description field's value. -func (s *UpdateImagePipelineInput) SetDescription(v string) *UpdateImagePipelineInput { +func (s *UpdateLifecyclePolicyInput) SetDescription(v string) *UpdateLifecyclePolicyInput { s.Description = &v return s } -// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. -func (s *UpdateImagePipelineInput) SetDistributionConfigurationArn(v string) *UpdateImagePipelineInput { - s.DistributionConfigurationArn = &v +// SetExecutionRole sets the ExecutionRole field's value. +func (s *UpdateLifecyclePolicyInput) SetExecutionRole(v string) *UpdateLifecyclePolicyInput { + s.ExecutionRole = &v return s } -// SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value. -func (s *UpdateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *UpdateImagePipelineInput { - s.EnhancedImageMetadataEnabled = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *UpdateLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *UpdateLifecyclePolicyInput { + s.LifecyclePolicyArn = &v return s } -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *UpdateImagePipelineInput) SetImagePipelineArn(v string) *UpdateImagePipelineInput { - s.ImagePipelineArn = &v +// SetPolicyDetails sets the PolicyDetails field's value. +func (s *UpdateLifecyclePolicyInput) SetPolicyDetails(v []*LifecyclePolicyDetail) *UpdateLifecyclePolicyInput { + s.PolicyDetails = v return s } -// SetImageRecipeArn sets the ImageRecipeArn field's value. -func (s *UpdateImagePipelineInput) SetImageRecipeArn(v string) *UpdateImagePipelineInput { - s.ImageRecipeArn = &v +// SetResourceSelection sets the ResourceSelection field's value. +func (s *UpdateLifecyclePolicyInput) SetResourceSelection(v *LifecyclePolicyResourceSelection) *UpdateLifecyclePolicyInput { + s.ResourceSelection = v return s } -// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. -func (s *UpdateImagePipelineInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *UpdateImagePipelineInput { - s.ImageScanningConfiguration = v +// SetResourceType sets the ResourceType field's value. +func (s *UpdateLifecyclePolicyInput) SetResourceType(v string) *UpdateLifecyclePolicyInput { + s.ResourceType = &v return s } -// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. -func (s *UpdateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *UpdateImagePipelineInput { - s.ImageTestsConfiguration = v +// SetStatus sets the Status field's value. +func (s *UpdateLifecyclePolicyInput) SetStatus(v string) *UpdateLifecyclePolicyInput { + s.Status = &v return s } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *UpdateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *UpdateImagePipelineInput { - s.InfrastructureConfigurationArn = &v - return s +type UpdateLifecyclePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the image lifecycle policy resource that was updated. + LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` } -// SetSchedule sets the Schedule field's value. -func (s *UpdateImagePipelineInput) SetSchedule(v *Schedule) *UpdateImagePipelineInput { - s.Schedule = v - return s +// 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 UpdateLifecyclePolicyOutput) 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 UpdateLifecyclePolicyOutput) GoString() string { + return s.String() } -// SetStatus sets the Status field's value. -func (s *UpdateImagePipelineInput) SetStatus(v string) *UpdateImagePipelineInput { - s.Status = &v +// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. +func (s *UpdateLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *UpdateLifecyclePolicyOutput { + s.LifecyclePolicyArn = &v return s } -type UpdateImagePipelineOutput struct { +// Includes counts of image and pipeline resource findings by vulnerability. +type VulnerabilityIdAggregation struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the image pipeline that was updated by - // this request. - ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + // Counts by severity level for medium severity and higher level findings, plus + // a total for all of the findings for the specified vulnerability. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // The vulnerability Id for this set of counts. + VulnerabilityId *string `locationName:"vulnerabilityId" min:"1" type:"string"` } // String returns the string representation. @@ -24339,7 +26758,7 @@ type UpdateImagePipelineOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateImagePipelineOutput) String() string { +func (s VulnerabilityIdAggregation) String() string { return awsutil.Prettify(s) } @@ -24348,98 +26767,56 @@ func (s UpdateImagePipelineOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateImagePipelineOutput) GoString() string { +func (s VulnerabilityIdAggregation) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateImagePipelineOutput) SetClientToken(v string) *UpdateImagePipelineOutput { - s.ClientToken = &v - return s -} - -// SetImagePipelineArn sets the ImagePipelineArn field's value. -func (s *UpdateImagePipelineOutput) SetImagePipelineArn(v string) *UpdateImagePipelineOutput { - s.ImagePipelineArn = &v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *VulnerabilityIdAggregation) SetSeverityCounts(v *SeverityCounts) *VulnerabilityIdAggregation { + s.SeverityCounts = v return s } -// SetRequestId sets the RequestId field's value. -func (s *UpdateImagePipelineOutput) SetRequestId(v string) *UpdateImagePipelineOutput { - s.RequestId = &v +// SetVulnerabilityId sets the VulnerabilityId field's value. +func (s *VulnerabilityIdAggregation) SetVulnerabilityId(v string) *VulnerabilityIdAggregation { + s.VulnerabilityId = &v return s } -type UpdateInfrastructureConfigurationInput struct { +// Information about a vulnerable package that Amazon Inspector identifies in +// a finding. +type VulnerablePackage struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - - // The description of the infrastructure configuration. - Description *string `locationName:"description" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the infrastructure configuration that you - // want to update. - // - // InfrastructureConfigurationArn is a required field - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` - - // The instance metadata options that you can set for the HTTP requests that - // pipeline builds use to launch EC2 build and test instances. For more information - // about instance metadata options, see one of the following links: - // - // * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) - // in the Amazon EC2 User Guide for Linux instances. - // - // * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html) - // in the Amazon EC2 Windows Guide for Windows instances. - InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"` + // The architecture of the vulnerable package. + Arch *string `locationName:"arch" type:"string"` - // The instance profile to associate with the instance used to customize your - // Amazon EC2 AMI. - // - // InstanceProfileName is a required field - InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"` + // The epoch of the vulnerable package. + Epoch *int64 `locationName:"epoch" type:"integer"` - // The instance types of the infrastructure configuration. You can specify one - // or more instance types to use for this build. The service will pick one of - // these instance types based on availability. - InstanceTypes []*string `locationName:"instanceTypes" type:"list"` + // The file path of the vulnerable package. + FilePath *string `locationName:"filePath" min:"1" type:"string"` - // The key pair of the infrastructure configuration. You can use this to log - // on to and debug the instance used to create your image. - KeyPair *string `locationName:"keyPair" min:"1" type:"string"` + // The version of the package that contains the vulnerability fix. + FixedInVersion *string `locationName:"fixedInVersion" min:"1" type:"string"` - // The logging configuration of the infrastructure configuration. - Logging *Logging `locationName:"logging" type:"structure"` + // The name of the vulnerable package. + Name *string `locationName:"name" min:"1" type:"string"` - // The tags attached to the resource created by Image Builder. - ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The package manager of the vulnerable package. + PackageManager *string `locationName:"packageManager" min:"1" type:"string"` - // The security group IDs to associate with the instance used to customize your - // Amazon EC2 AMI. - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + // The release of the vulnerable package. + Release *string `locationName:"release" min:"1" type:"string"` - // The Amazon Resource Name (ARN) for the SNS topic to which we send image build - // event notifications. - // - // EC2 Image Builder is unable to send notifications to SNS topics that are - // encrypted using keys from other accounts. The key that is used to encrypt - // the SNS topic must reside in the account that the Image Builder service runs - // under. - SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` + // The code to run in your environment to update packages with a fix available. + Remediation *string `locationName:"remediation" min:"1" type:"string"` - // The subnet ID to place the instance used to customize your Amazon EC2 AMI - // in. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + // The source layer hash of the vulnerable package. + SourceLayerHash *string `locationName:"sourceLayerHash" type:"string"` - // The terminate instance on failure setting of the infrastructure configuration. - // Set to false if you want Image Builder to retain the instance used to configure - // your AMI if the build or test phase of your workflow fails. - TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` + // The version of the vulnerable package. + Version *string `locationName:"version" min:"1" type:"string"` } // String returns the string representation. @@ -24447,7 +26824,7 @@ type UpdateInfrastructureConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateInfrastructureConfigurationInput) String() string { +func (s VulnerablePackage) String() string { return awsutil.Prettify(s) } @@ -24456,144 +26833,238 @@ func (s UpdateInfrastructureConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateInfrastructureConfigurationInput) GoString() string { +func (s VulnerablePackage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateInfrastructureConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateInfrastructureConfigurationInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.InfrastructureConfigurationArn == nil { - invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn")) - } - if s.InstanceProfileName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) - } - if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) - } - if s.KeyPair != nil && len(*s.KeyPair) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) - } - if s.ResourceTags != nil && len(s.ResourceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) - } - if s.SubnetId != nil && len(*s.SubnetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) - } - if s.InstanceMetadataOptions != nil { - if err := s.InstanceMetadataOptions.Validate(); err != nil { - invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams)) - } - } - if s.Logging != nil { - if err := s.Logging.Validate(); err != nil { - invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) - } - } +// SetArch sets the Arch field's value. +func (s *VulnerablePackage) SetArch(v string) *VulnerablePackage { + s.Arch = &v + return s +} + +// SetEpoch sets the Epoch field's value. +func (s *VulnerablePackage) SetEpoch(v int64) *VulnerablePackage { + s.Epoch = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *VulnerablePackage) SetFilePath(v string) *VulnerablePackage { + s.FilePath = &v + return s +} + +// SetFixedInVersion sets the FixedInVersion field's value. +func (s *VulnerablePackage) SetFixedInVersion(v string) *VulnerablePackage { + s.FixedInVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *VulnerablePackage) SetName(v string) *VulnerablePackage { + s.Name = &v + return s +} + +// SetPackageManager sets the PackageManager field's value. +func (s *VulnerablePackage) SetPackageManager(v string) *VulnerablePackage { + s.PackageManager = &v + return s +} + +// SetRelease sets the Release field's value. +func (s *VulnerablePackage) SetRelease(v string) *VulnerablePackage { + s.Release = &v + return s +} + +// SetRemediation sets the Remediation field's value. +func (s *VulnerablePackage) SetRemediation(v string) *VulnerablePackage { + s.Remediation = &v + return s +} + +// SetSourceLayerHash sets the SourceLayerHash field's value. +func (s *VulnerablePackage) SetSourceLayerHash(v string) *VulnerablePackage { + s.SourceLayerHash = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *VulnerablePackage) SetVersion(v string) *VulnerablePackage { + s.Version = &v + return s +} + +// Defines a process that Image Builder uses to build and test images during +// the image creation process. +type Workflow struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the workflow resource. + Arn *string `locationName:"arn" type:"string"` + + // Describes what change has been made in this version of the workflow, or what + // makes this version different from other versions of the workflow. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // Contains the YAML document content for the workflow. + Data *string `locationName:"data" type:"string"` + + // The timestamp when Image Builder created the workflow resource. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The description of the workflow. + Description *string `locationName:"description" min:"1" type:"string"` + + // The KMS key identifier used to encrypt the workflow resource. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the workflow resource. + Name *string `locationName:"name" type:"string"` + + // The owner of the workflow resource. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // An array of input parameters that that the image workflow uses to control + // actions or configure settings. + Parameters []*WorkflowParameterDetail `locationName:"parameters" type:"list"` + + // Describes the current status of the workflow and the reason for that status. + State *WorkflowState `locationName:"state" type:"structure"` + + // The tags that apply to the workflow resource + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // Specifies the image creation stage that the workflow applies to. Image Builder + // currently supports build and test workflows. + Type *string `locationName:"type" type:"string" enum:"WorkflowType"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + // The workflow resource version. Workflow resources are immutable. To make + // a change, you can clone a workflow or create a new version. + Version *string `locationName:"version" type:"string"` } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateInfrastructureConfigurationInput) SetClientToken(v string) *UpdateInfrastructureConfigurationInput { - s.ClientToken = &v +// 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 Workflow) 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 Workflow) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Workflow) SetArn(v string) *Workflow { + s.Arn = &v return s } -// SetDescription sets the Description field's value. -func (s *UpdateInfrastructureConfigurationInput) SetDescription(v string) *UpdateInfrastructureConfigurationInput { - s.Description = &v +// SetChangeDescription sets the ChangeDescription field's value. +func (s *Workflow) SetChangeDescription(v string) *Workflow { + s.ChangeDescription = &v return s } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *UpdateInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationInput { - s.InfrastructureConfigurationArn = &v +// SetData sets the Data field's value. +func (s *Workflow) SetData(v string) *Workflow { + s.Data = &v return s } -// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value. -func (s *UpdateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *UpdateInfrastructureConfigurationInput { - s.InstanceMetadataOptions = v +// SetDateCreated sets the DateCreated field's value. +func (s *Workflow) SetDateCreated(v string) *Workflow { + s.DateCreated = &v return s } -// SetInstanceProfileName sets the InstanceProfileName field's value. -func (s *UpdateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *UpdateInfrastructureConfigurationInput { - s.InstanceProfileName = &v +// SetDescription sets the Description field's value. +func (s *Workflow) SetDescription(v string) *Workflow { + s.Description = &v return s } -// SetInstanceTypes sets the InstanceTypes field's value. -func (s *UpdateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *UpdateInfrastructureConfigurationInput { - s.InstanceTypes = v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Workflow) SetKmsKeyId(v string) *Workflow { + s.KmsKeyId = &v return s } -// SetKeyPair sets the KeyPair field's value. -func (s *UpdateInfrastructureConfigurationInput) SetKeyPair(v string) *UpdateInfrastructureConfigurationInput { - s.KeyPair = &v +// SetName sets the Name field's value. +func (s *Workflow) SetName(v string) *Workflow { + s.Name = &v return s } -// SetLogging sets the Logging field's value. -func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateInfrastructureConfigurationInput { - s.Logging = v +// SetOwner sets the Owner field's value. +func (s *Workflow) SetOwner(v string) *Workflow { + s.Owner = &v return s } -// SetResourceTags sets the ResourceTags field's value. -func (s *UpdateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *UpdateInfrastructureConfigurationInput { - s.ResourceTags = v +// SetParameters sets the Parameters field's value. +func (s *Workflow) SetParameters(v []*WorkflowParameterDetail) *Workflow { + s.Parameters = v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput { - s.SecurityGroupIds = v +// SetState sets the State field's value. +func (s *Workflow) SetState(v *WorkflowState) *Workflow { + s.State = v return s } -// SetSnsTopicArn sets the SnsTopicArn field's value. -func (s *UpdateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *UpdateInfrastructureConfigurationInput { - s.SnsTopicArn = &v +// SetTags sets the Tags field's value. +func (s *Workflow) SetTags(v map[string]*string) *Workflow { + s.Tags = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *UpdateInfrastructureConfigurationInput) SetSubnetId(v string) *UpdateInfrastructureConfigurationInput { - s.SubnetId = &v +// SetType sets the Type field's value. +func (s *Workflow) SetType(v string) *Workflow { + s.Type = &v return s } -// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. -func (s *UpdateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *UpdateInfrastructureConfigurationInput { - s.TerminateInstanceOnFailure = &v +// SetVersion sets the Version field's value. +func (s *Workflow) SetVersion(v string) *Workflow { + s.Version = &v return s } -type UpdateInfrastructureConfigurationOutput struct { +// Contains control settings and configurable inputs for a workflow resource. +type WorkflowConfiguration struct { _ struct{} `type:"structure"` - // The client token that uniquely identifies the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + // The action to take if the workflow fails. + OnFailure *string `locationName:"onFailure" type:"string" enum:"OnWorkflowFailure"` - // The Amazon Resource Name (ARN) of the infrastructure configuration that was - // updated by this request. - InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + // Test workflows are defined within named runtime groups called parallel groups. + // The parallel group is the named group that contains this test workflow. Test + // workflows within a parallel group can run at the same time. Image Builder + // starts up to five test workflows in the group at the same time, and starts + // additional workflows as others complete, until all workflows in the group + // have completed. This field only applies for test workflows. + ParallelGroup *string `locationName:"parallelGroup" min:"1" type:"string"` - // The request ID that uniquely identifies this request. - RequestId *string `locationName:"requestId" min:"1" type:"string"` + // Contains parameter values for each of the parameters that the workflow document + // defined for the workflow resource. + Parameters []*WorkflowParameter `locationName:"parameters" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the workflow resource. + // + // WorkflowArn is a required field + WorkflowArn *string `locationName:"workflowArn" type:"string" required:"true"` } // String returns the string representation. @@ -24601,7 +27072,7 @@ type UpdateInfrastructureConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateInfrastructureConfigurationOutput) String() string { +func (s WorkflowConfiguration) String() string { return awsutil.Prettify(s) } @@ -24610,67 +27081,107 @@ func (s UpdateInfrastructureConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateInfrastructureConfigurationOutput) GoString() string { +func (s WorkflowConfiguration) GoString() string { return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateInfrastructureConfigurationOutput) SetClientToken(v string) *UpdateInfrastructureConfigurationOutput { - s.ClientToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkflowConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkflowConfiguration"} + if s.ParallelGroup != nil && len(*s.ParallelGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParallelGroup", 1)) + } + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.WorkflowArn == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowArn")) + } + if s.Parameters != nil { + for i, v := range s.Parameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOnFailure sets the OnFailure field's value. +func (s *WorkflowConfiguration) SetOnFailure(v string) *WorkflowConfiguration { + s.OnFailure = &v return s } -// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. -func (s *UpdateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationOutput { - s.InfrastructureConfigurationArn = &v +// SetParallelGroup sets the ParallelGroup field's value. +func (s *WorkflowConfiguration) SetParallelGroup(v string) *WorkflowConfiguration { + s.ParallelGroup = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *UpdateInfrastructureConfigurationOutput) SetRequestId(v string) *UpdateInfrastructureConfigurationOutput { - s.RequestId = &v +// SetParameters sets the Parameters field's value. +func (s *WorkflowConfiguration) SetParameters(v []*WorkflowParameter) *WorkflowConfiguration { + s.Parameters = v return s } -type UpdateLifecyclePolicyInput struct { +// SetWorkflowArn sets the WorkflowArn field's value. +func (s *WorkflowConfiguration) SetWorkflowArn(v string) *WorkflowConfiguration { + s.WorkflowArn = &v + return s +} + +// Metadata that includes details and status from this runtime instance of the +// workflow. +type WorkflowExecutionMetadata struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) - // in the Amazon EC2 API Reference. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + // The timestamp when this runtime instance of the workflow finished. + EndTime *string `locationName:"endTime" type:"string"` - // Optional description for the lifecycle policy. - Description *string `locationName:"description" min:"1" type:"string"` + // The runtime output message from the workflow, if applicable. + Message *string `locationName:"message" type:"string"` - // The name of the IAM role that Image Builder should use to update the lifecycle - // policy. - // - // ExecutionRole is a required field - ExecutionRole *string `locationName:"executionRole" min:"1" type:"string" required:"true"` + // The name of the test group that included the test workflow resource at runtime. + ParallelGroup *string `locationName:"parallelGroup" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the lifecycle policy resource. - // - // LifecyclePolicyArn is a required field - LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string" required:"true"` + // The timestamp when the runtime instance of this workflow started. + StartTime *string `locationName:"startTime" type:"string"` - // The configuration details for a lifecycle policy resource. - // - // PolicyDetails is a required field - PolicyDetails []*LifecyclePolicyDetail `locationName:"policyDetails" min:"1" type:"list" required:"true"` + // The current runtime status for this workflow. + Status *string `locationName:"status" type:"string" enum:"WorkflowExecutionStatus"` - // Selection criteria for resources that the lifecycle policy applies to. - // - // ResourceSelection is a required field - ResourceSelection *LifecyclePolicyResourceSelection `locationName:"resourceSelection" type:"structure" required:"true"` + // The total number of steps in the workflow. This should equal the sum of the + // step counts for steps that succeeded, were skipped, and failed. + TotalStepCount *int64 `locationName:"totalStepCount" type:"integer"` - // The type of image resource that the lifecycle policy applies to. - // - // ResourceType is a required field - ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"LifecyclePolicyResourceType"` + // A runtime count for the number of steps in the workflow that failed. + TotalStepsFailed *int64 `locationName:"totalStepsFailed" type:"integer"` - // Indicates whether the lifecycle policy resource is enabled. - Status *string `locationName:"status" type:"string" enum:"LifecyclePolicyStatus"` + // A runtime count for the number of steps in the workflow that were skipped. + TotalStepsSkipped *int64 `locationName:"totalStepsSkipped" type:"integer"` + + // A runtime count for the number of steps in the workflow that ran successfully. + TotalStepsSucceeded *int64 `locationName:"totalStepsSucceeded" type:"integer"` + + // Indicates what type of workflow that Image Builder ran for this runtime instance + // of the workflow. + Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + + // The Amazon Resource Name (ARN) of the workflow resource build version that + // ran. + WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` + + // Unique identifier that Image Builder assigns to keep track of runtime resources + // each time it runs a workflow. + WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` } // String returns the string representation. @@ -24678,160 +27189,104 @@ type UpdateLifecyclePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateLifecyclePolicyInput) String() string { +func (s WorkflowExecutionMetadata) 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 UpdateLifecyclePolicyInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateLifecyclePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateLifecyclePolicyInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.ExecutionRole == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) - } - if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) - } - if s.LifecyclePolicyArn == nil { - invalidParams.Add(request.NewErrParamRequired("LifecyclePolicyArn")) - } - if s.PolicyDetails == nil { - invalidParams.Add(request.NewErrParamRequired("PolicyDetails")) - } - if s.PolicyDetails != nil && len(s.PolicyDetails) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PolicyDetails", 1)) - } - if s.ResourceSelection == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceSelection")) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - if s.PolicyDetails != nil { - for i, v := range s.PolicyDetails { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyDetails", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceSelection != nil { - if err := s.ResourceSelection.Validate(); err != nil { - invalidParams.AddNested("ResourceSelection", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowExecutionMetadata) GoString() string { + return s.String() } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateLifecyclePolicyInput) SetClientToken(v string) *UpdateLifecyclePolicyInput { - s.ClientToken = &v +// SetEndTime sets the EndTime field's value. +func (s *WorkflowExecutionMetadata) SetEndTime(v string) *WorkflowExecutionMetadata { + s.EndTime = &v return s } -// SetDescription sets the Description field's value. -func (s *UpdateLifecyclePolicyInput) SetDescription(v string) *UpdateLifecyclePolicyInput { - s.Description = &v +// SetMessage sets the Message field's value. +func (s *WorkflowExecutionMetadata) SetMessage(v string) *WorkflowExecutionMetadata { + s.Message = &v return s } -// SetExecutionRole sets the ExecutionRole field's value. -func (s *UpdateLifecyclePolicyInput) SetExecutionRole(v string) *UpdateLifecyclePolicyInput { - s.ExecutionRole = &v +// SetParallelGroup sets the ParallelGroup field's value. +func (s *WorkflowExecutionMetadata) SetParallelGroup(v string) *WorkflowExecutionMetadata { + s.ParallelGroup = &v return s } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *UpdateLifecyclePolicyInput) SetLifecyclePolicyArn(v string) *UpdateLifecyclePolicyInput { - s.LifecyclePolicyArn = &v +// SetStartTime sets the StartTime field's value. +func (s *WorkflowExecutionMetadata) SetStartTime(v string) *WorkflowExecutionMetadata { + s.StartTime = &v return s } -// SetPolicyDetails sets the PolicyDetails field's value. -func (s *UpdateLifecyclePolicyInput) SetPolicyDetails(v []*LifecyclePolicyDetail) *UpdateLifecyclePolicyInput { - s.PolicyDetails = v +// SetStatus sets the Status field's value. +func (s *WorkflowExecutionMetadata) SetStatus(v string) *WorkflowExecutionMetadata { + s.Status = &v return s } -// SetResourceSelection sets the ResourceSelection field's value. -func (s *UpdateLifecyclePolicyInput) SetResourceSelection(v *LifecyclePolicyResourceSelection) *UpdateLifecyclePolicyInput { - s.ResourceSelection = v +// SetTotalStepCount sets the TotalStepCount field's value. +func (s *WorkflowExecutionMetadata) SetTotalStepCount(v int64) *WorkflowExecutionMetadata { + s.TotalStepCount = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *UpdateLifecyclePolicyInput) SetResourceType(v string) *UpdateLifecyclePolicyInput { - s.ResourceType = &v +// SetTotalStepsFailed sets the TotalStepsFailed field's value. +func (s *WorkflowExecutionMetadata) SetTotalStepsFailed(v int64) *WorkflowExecutionMetadata { + s.TotalStepsFailed = &v return s } -// SetStatus sets the Status field's value. -func (s *UpdateLifecyclePolicyInput) SetStatus(v string) *UpdateLifecyclePolicyInput { - s.Status = &v +// SetTotalStepsSkipped sets the TotalStepsSkipped field's value. +func (s *WorkflowExecutionMetadata) SetTotalStepsSkipped(v int64) *WorkflowExecutionMetadata { + s.TotalStepsSkipped = &v return s } -type UpdateLifecyclePolicyOutput struct { - _ struct{} `type:"structure"` - - // The ARN of the image lifecycle policy resource that was updated. - LifecyclePolicyArn *string `locationName:"lifecyclePolicyArn" type:"string"` +// SetTotalStepsSucceeded sets the TotalStepsSucceeded field's value. +func (s *WorkflowExecutionMetadata) SetTotalStepsSucceeded(v int64) *WorkflowExecutionMetadata { + s.TotalStepsSucceeded = &v + return s } -// 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 UpdateLifecyclePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetType sets the Type field's value. +func (s *WorkflowExecutionMetadata) SetType(v string) *WorkflowExecutionMetadata { + s.Type = &v + return 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 UpdateLifecyclePolicyOutput) GoString() string { - return s.String() +// SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. +func (s *WorkflowExecutionMetadata) SetWorkflowBuildVersionArn(v string) *WorkflowExecutionMetadata { + s.WorkflowBuildVersionArn = &v + return s } -// SetLifecyclePolicyArn sets the LifecyclePolicyArn field's value. -func (s *UpdateLifecyclePolicyOutput) SetLifecyclePolicyArn(v string) *UpdateLifecyclePolicyOutput { - s.LifecyclePolicyArn = &v +// SetWorkflowExecutionId sets the WorkflowExecutionId field's value. +func (s *WorkflowExecutionMetadata) SetWorkflowExecutionId(v string) *WorkflowExecutionMetadata { + s.WorkflowExecutionId = &v return s } -// Includes counts of image and pipeline resource findings by vulnerability. -type VulnerabilityIdAggregation struct { +// Contains a key/value pair that sets the named workflow parameter. +type WorkflowParameter struct { _ struct{} `type:"structure"` - // Counts by severity level for medium severity and higher level findings, plus - // a total for all of the findings for the specified vulnerability. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // The name of the workflow parameter to set. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The vulnerability Id for this set of counts. - VulnerabilityId *string `locationName:"vulnerabilityId" min:"1" type:"string"` + // Sets the value for the named workflow parameter. + // + // Value is a required field + Value []*string `locationName:"value" type:"list" required:"true"` } // String returns the string representation. @@ -24839,7 +27294,7 @@ type VulnerabilityIdAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VulnerabilityIdAggregation) String() string { +func (s WorkflowParameter) String() string { return awsutil.Prettify(s) } @@ -24848,56 +27303,62 @@ func (s VulnerabilityIdAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VulnerabilityIdAggregation) GoString() string { +func (s WorkflowParameter) GoString() string { return s.String() } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *VulnerabilityIdAggregation) SetSeverityCounts(v *SeverityCounts) *VulnerabilityIdAggregation { - s.SeverityCounts = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkflowParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkflowParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *WorkflowParameter) SetName(v string) *WorkflowParameter { + s.Name = &v return s } -// SetVulnerabilityId sets the VulnerabilityId field's value. -func (s *VulnerabilityIdAggregation) SetVulnerabilityId(v string) *VulnerabilityIdAggregation { - s.VulnerabilityId = &v +// SetValue sets the Value field's value. +func (s *WorkflowParameter) SetValue(v []*string) *WorkflowParameter { + s.Value = v return s } -// Information about a vulnerable package that Amazon Inspector identifies in -// a finding. -type VulnerablePackage struct { +// Defines a parameter that's used to provide configuration details for the +// workflow. +type WorkflowParameterDetail struct { _ struct{} `type:"structure"` - // The architecture of the vulnerable package. - Arch *string `locationName:"arch" type:"string"` - - // The epoch of the vulnerable package. - Epoch *int64 `locationName:"epoch" type:"integer"` - - // The file path of the vulnerable package. - FilePath *string `locationName:"filePath" min:"1" type:"string"` - - // The version of the package that contains the vulnerability fix. - FixedInVersion *string `locationName:"fixedInVersion" min:"1" type:"string"` - - // The name of the vulnerable package. - Name *string `locationName:"name" min:"1" type:"string"` - - // The package manager of the vulnerable package. - PackageManager *string `locationName:"packageManager" min:"1" type:"string"` - - // The release of the vulnerable package. - Release *string `locationName:"release" min:"1" type:"string"` + // The default value of this parameter if no input is provided. + DefaultValue []*string `locationName:"defaultValue" type:"list"` - // The code to run in your environment to update packages with a fix available. - Remediation *string `locationName:"remediation" min:"1" type:"string"` + // Describes this parameter. + Description *string `locationName:"description" type:"string"` - // The source layer hash of the vulnerable package. - SourceLayerHash *string `locationName:"sourceLayerHash" type:"string"` + // The name of this input parameter. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The version of the vulnerable package. - Version *string `locationName:"version" min:"1" type:"string"` + // The type of input this parameter provides. The currently supported value + // is "string". + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -24905,7 +27366,7 @@ type VulnerablePackage struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VulnerablePackage) String() string { +func (s WorkflowParameterDetail) String() string { return awsutil.Prettify(s) } @@ -24914,110 +27375,101 @@ func (s VulnerablePackage) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VulnerablePackage) GoString() string { +func (s WorkflowParameterDetail) GoString() string { return s.String() } -// SetArch sets the Arch field's value. -func (s *VulnerablePackage) SetArch(v string) *VulnerablePackage { - s.Arch = &v +// SetDefaultValue sets the DefaultValue field's value. +func (s *WorkflowParameterDetail) SetDefaultValue(v []*string) *WorkflowParameterDetail { + s.DefaultValue = v return s } -// SetEpoch sets the Epoch field's value. -func (s *VulnerablePackage) SetEpoch(v int64) *VulnerablePackage { - s.Epoch = &v +// SetDescription sets the Description field's value. +func (s *WorkflowParameterDetail) SetDescription(v string) *WorkflowParameterDetail { + s.Description = &v return s } -// SetFilePath sets the FilePath field's value. -func (s *VulnerablePackage) SetFilePath(v string) *VulnerablePackage { - s.FilePath = &v +// SetName sets the Name field's value. +func (s *WorkflowParameterDetail) SetName(v string) *WorkflowParameterDetail { + s.Name = &v return s } -// SetFixedInVersion sets the FixedInVersion field's value. -func (s *VulnerablePackage) SetFixedInVersion(v string) *VulnerablePackage { - s.FixedInVersion = &v +// SetType sets the Type field's value. +func (s *WorkflowParameterDetail) SetType(v string) *WorkflowParameterDetail { + s.Type = &v return s } -// SetName sets the Name field's value. -func (s *VulnerablePackage) SetName(v string) *VulnerablePackage { - s.Name = &v - return s -} +// A group of fields that describe the current status of workflow. +type WorkflowState struct { + _ struct{} `type:"structure"` -// SetPackageManager sets the PackageManager field's value. -func (s *VulnerablePackage) SetPackageManager(v string) *VulnerablePackage { - s.PackageManager = &v - return s + // Describes how or why the workflow changed state. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The current state of the workflow. + Status *string `locationName:"status" type:"string" enum:"WorkflowStatus"` } -// SetRelease sets the Release field's value. -func (s *VulnerablePackage) SetRelease(v string) *VulnerablePackage { - s.Release = &v - return s +// 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 WorkflowState) String() string { + return awsutil.Prettify(s) } -// SetRemediation sets the Remediation field's value. -func (s *VulnerablePackage) SetRemediation(v string) *VulnerablePackage { - s.Remediation = &v - return 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 WorkflowState) GoString() string { + return s.String() } -// SetSourceLayerHash sets the SourceLayerHash field's value. -func (s *VulnerablePackage) SetSourceLayerHash(v string) *VulnerablePackage { - s.SourceLayerHash = &v +// SetReason sets the Reason field's value. +func (s *WorkflowState) SetReason(v string) *WorkflowState { + s.Reason = &v return s } -// SetVersion sets the Version field's value. -func (s *VulnerablePackage) SetVersion(v string) *VulnerablePackage { - s.Version = &v +// SetStatus sets the Status field's value. +func (s *WorkflowState) SetStatus(v string) *WorkflowState { + s.Status = &v return s } -// Metadata that includes details and status from this runtime instance of the -// workflow. -type WorkflowExecutionMetadata struct { - _ struct{} `type:"structure"` - - // The timestamp when this runtime instance of the workflow finished. - EndTime *string `locationName:"endTime" type:"string"` - - // The runtime output message from the workflow, if applicable. - Message *string `locationName:"message" type:"string"` - - // The timestamp when the runtime instance of this workflow started. - StartTime *string `locationName:"startTime" type:"string"` - - // The current runtime status for this workflow. - Status *string `locationName:"status" type:"string" enum:"WorkflowExecutionStatus"` - - // The total number of steps in the workflow. This should equal the sum of the - // step counts for steps that succeeded, were skipped, and failed. - TotalStepCount *int64 `locationName:"totalStepCount" type:"integer"` +// Contains runtime details for an instance of a workflow that ran for the associated +// image build version. +type WorkflowStepExecution struct { + _ struct{} `type:"structure"` - // A runtime count for the number of steps in the workflow that failed. - TotalStepsFailed *int64 `locationName:"totalStepsFailed" type:"integer"` + // The name of the step action. + Action *string `locationName:"action" type:"string"` - // A runtime count for the number of steps in the workflow that were skipped. - TotalStepsSkipped *int64 `locationName:"totalStepsSkipped" type:"integer"` + // The Amazon Resource Name (ARN) of the image build version that ran the workflow. + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"` - // A runtime count for the number of steps in the workflow that ran successfully. - TotalStepsSucceeded *int64 `locationName:"totalStepsSucceeded" type:"integer"` + // The name of the workflow step. + Name *string `locationName:"name" type:"string"` - // Indicates what type of workflow that Image Builder ran for this runtime instance - // of the workflow. - Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + // The timestamp when the workflow step started. + StartTime *string `locationName:"startTime" type:"string"` - // The Amazon Resource Name (ARN) of the workflow resource build version that - // ran. + // Uniquely identifies the workflow step that ran for the associated image build + // version. + StepExecutionId *string `locationName:"stepExecutionId" type:"string"` + + // The ARN of the workflow resource that ran. WorkflowBuildVersionArn *string `locationName:"workflowBuildVersionArn" type:"string"` - // Unique identifier that Image Builder assigns to keep track of runtime resources - // each time it runs a workflow. + // Uniquely identifies the runtime instance of the workflow that contains the + // workflow step that ran for the associated image build version. WorkflowExecutionId *string `locationName:"workflowExecutionId" type:"string"` } @@ -25026,7 +27478,7 @@ type WorkflowExecutionMetadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s WorkflowExecutionMetadata) String() string { +func (s WorkflowStepExecution) String() string { return awsutil.Prettify(s) } @@ -25035,72 +27487,48 @@ func (s WorkflowExecutionMetadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s WorkflowExecutionMetadata) GoString() string { +func (s WorkflowStepExecution) GoString() string { return s.String() } -// SetEndTime sets the EndTime field's value. -func (s *WorkflowExecutionMetadata) SetEndTime(v string) *WorkflowExecutionMetadata { - s.EndTime = &v - return s -} - -// SetMessage sets the Message field's value. -func (s *WorkflowExecutionMetadata) SetMessage(v string) *WorkflowExecutionMetadata { - s.Message = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *WorkflowExecutionMetadata) SetStartTime(v string) *WorkflowExecutionMetadata { - s.StartTime = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *WorkflowExecutionMetadata) SetStatus(v string) *WorkflowExecutionMetadata { - s.Status = &v - return s -} - -// SetTotalStepCount sets the TotalStepCount field's value. -func (s *WorkflowExecutionMetadata) SetTotalStepCount(v int64) *WorkflowExecutionMetadata { - s.TotalStepCount = &v +// SetAction sets the Action field's value. +func (s *WorkflowStepExecution) SetAction(v string) *WorkflowStepExecution { + s.Action = &v return s } -// SetTotalStepsFailed sets the TotalStepsFailed field's value. -func (s *WorkflowExecutionMetadata) SetTotalStepsFailed(v int64) *WorkflowExecutionMetadata { - s.TotalStepsFailed = &v +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *WorkflowStepExecution) SetImageBuildVersionArn(v string) *WorkflowStepExecution { + s.ImageBuildVersionArn = &v return s } -// SetTotalStepsSkipped sets the TotalStepsSkipped field's value. -func (s *WorkflowExecutionMetadata) SetTotalStepsSkipped(v int64) *WorkflowExecutionMetadata { - s.TotalStepsSkipped = &v +// SetName sets the Name field's value. +func (s *WorkflowStepExecution) SetName(v string) *WorkflowStepExecution { + s.Name = &v return s } -// SetTotalStepsSucceeded sets the TotalStepsSucceeded field's value. -func (s *WorkflowExecutionMetadata) SetTotalStepsSucceeded(v int64) *WorkflowExecutionMetadata { - s.TotalStepsSucceeded = &v +// SetStartTime sets the StartTime field's value. +func (s *WorkflowStepExecution) SetStartTime(v string) *WorkflowStepExecution { + s.StartTime = &v return s } -// SetType sets the Type field's value. -func (s *WorkflowExecutionMetadata) SetType(v string) *WorkflowExecutionMetadata { - s.Type = &v +// SetStepExecutionId sets the StepExecutionId field's value. +func (s *WorkflowStepExecution) SetStepExecutionId(v string) *WorkflowStepExecution { + s.StepExecutionId = &v return s } // SetWorkflowBuildVersionArn sets the WorkflowBuildVersionArn field's value. -func (s *WorkflowExecutionMetadata) SetWorkflowBuildVersionArn(v string) *WorkflowExecutionMetadata { +func (s *WorkflowStepExecution) SetWorkflowBuildVersionArn(v string) *WorkflowStepExecution { s.WorkflowBuildVersionArn = &v return s } // SetWorkflowExecutionId sets the WorkflowExecutionId field's value. -func (s *WorkflowExecutionMetadata) SetWorkflowExecutionId(v string) *WorkflowExecutionMetadata { +func (s *WorkflowStepExecution) SetWorkflowExecutionId(v string) *WorkflowStepExecution { s.WorkflowExecutionId = &v return s } @@ -25228,6 +27656,208 @@ func (s *WorkflowStepMetadata) SetStepExecutionId(v string) *WorkflowStepMetadat return s } +// Contains metadata about the workflow resource. +type WorkflowSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the workflow resource. + Arn *string `locationName:"arn" type:"string"` + + // The change description for the current version of the workflow resource. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // The original creation date of the workflow resource. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // Describes the workflow. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the workflow. + Name *string `locationName:"name" type:"string"` + + // The owner of the workflow resource. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // Describes the current state of the workflow resource. + State *WorkflowState `locationName:"state" type:"structure"` + + // Contains a list of tags that are defined for the workflow. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The image creation stage that this workflow applies to. Image Builder currently + // supports build and test stage workflows. + Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + + // The version of the workflow. + Version *string `locationName:"version" 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 WorkflowSummary) 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 WorkflowSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *WorkflowSummary) SetArn(v string) *WorkflowSummary { + s.Arn = &v + return s +} + +// SetChangeDescription sets the ChangeDescription field's value. +func (s *WorkflowSummary) SetChangeDescription(v string) *WorkflowSummary { + s.ChangeDescription = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *WorkflowSummary) SetDateCreated(v string) *WorkflowSummary { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *WorkflowSummary) SetDescription(v string) *WorkflowSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *WorkflowSummary) SetName(v string) *WorkflowSummary { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *WorkflowSummary) SetOwner(v string) *WorkflowSummary { + s.Owner = &v + return s +} + +// SetState sets the State field's value. +func (s *WorkflowSummary) SetState(v *WorkflowState) *WorkflowSummary { + s.State = v + return s +} + +// SetTags sets the Tags field's value. +func (s *WorkflowSummary) SetTags(v map[string]*string) *WorkflowSummary { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *WorkflowSummary) SetType(v string) *WorkflowSummary { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *WorkflowSummary) SetVersion(v string) *WorkflowSummary { + s.Version = &v + return s +} + +// Contains details about this version of the workflow. +type WorkflowVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the workflow resource. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when Image Builder created the workflow version. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // Describes the workflow. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the workflow. + Name *string `locationName:"name" type:"string"` + + // The owner of the workflow resource. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The image creation stage that this workflow applies to. Image Builder currently + // supports build and test stage workflows. + Type *string `locationName:"type" type:"string" enum:"WorkflowType"` + + // The semantic version of the workflow resource. The format includes three + // nodes: ... + Version *string `locationName:"version" 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 WorkflowVersion) 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 WorkflowVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *WorkflowVersion) SetArn(v string) *WorkflowVersion { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *WorkflowVersion) SetDateCreated(v string) *WorkflowVersion { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *WorkflowVersion) SetDescription(v string) *WorkflowVersion { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *WorkflowVersion) SetName(v string) *WorkflowVersion { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *WorkflowVersion) SetOwner(v string) *WorkflowVersion { + s.Owner = &v + return s +} + +// SetType sets the Type field's value. +func (s *WorkflowVersion) SetType(v string) *WorkflowVersion { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *WorkflowVersion) SetVersion(v string) *WorkflowVersion { + s.Version = &v + return s +} + const ( // BuildTypeUserInitiated is a BuildType enum value BuildTypeUserInitiated = "USER_INITIATED" @@ -25668,6 +28298,22 @@ func LifecyclePolicyTimeUnit_Values() []string { } } +const ( + // OnWorkflowFailureContinue is a OnWorkflowFailure enum value + OnWorkflowFailureContinue = "CONTINUE" + + // OnWorkflowFailureAbort is a OnWorkflowFailure enum value + OnWorkflowFailureAbort = "ABORT" +) + +// OnWorkflowFailure_Values returns all elements of the OnWorkflowFailure enum +func OnWorkflowFailure_Values() []string { + return []string{ + OnWorkflowFailureContinue, + OnWorkflowFailureAbort, + } +} + const ( // OwnershipSelf is a Ownership enum value OwnershipSelf = "Self" @@ -25785,6 +28431,9 @@ const ( // WorkflowExecutionStatusRollbackCompleted is a WorkflowExecutionStatus enum value WorkflowExecutionStatusRollbackCompleted = "ROLLBACK_COMPLETED" + + // WorkflowExecutionStatusCancelled is a WorkflowExecutionStatus enum value + WorkflowExecutionStatusCancelled = "CANCELLED" ) // WorkflowExecutionStatus_Values returns all elements of the WorkflowExecutionStatus enum @@ -25797,6 +28446,35 @@ func WorkflowExecutionStatus_Values() []string { WorkflowExecutionStatusFailed, WorkflowExecutionStatusRollbackInProgress, WorkflowExecutionStatusRollbackCompleted, + WorkflowExecutionStatusCancelled, + } +} + +const ( + // WorkflowStatusDeprecated is a WorkflowStatus enum value + WorkflowStatusDeprecated = "DEPRECATED" +) + +// WorkflowStatus_Values returns all elements of the WorkflowStatus enum +func WorkflowStatus_Values() []string { + return []string{ + WorkflowStatusDeprecated, + } +} + +const ( + // WorkflowStepActionTypeResume is a WorkflowStepActionType enum value + WorkflowStepActionTypeResume = "RESUME" + + // WorkflowStepActionTypeStop is a WorkflowStepActionType enum value + WorkflowStepActionTypeStop = "STOP" +) + +// WorkflowStepActionType_Values returns all elements of the WorkflowStepActionType enum +func WorkflowStepActionType_Values() []string { + return []string{ + WorkflowStepActionTypeResume, + WorkflowStepActionTypeStop, } } @@ -25839,6 +28517,9 @@ const ( // WorkflowStepExecutionStatusFailed is a WorkflowStepExecutionStatus enum value WorkflowStepExecutionStatusFailed = "FAILED" + + // WorkflowStepExecutionStatusCancelled is a WorkflowStepExecutionStatus enum value + WorkflowStepExecutionStatusCancelled = "CANCELLED" ) // WorkflowStepExecutionStatus_Values returns all elements of the WorkflowStepExecutionStatus enum @@ -25849,6 +28530,7 @@ func WorkflowStepExecutionStatus_Values() []string { WorkflowStepExecutionStatusRunning, WorkflowStepExecutionStatusCompleted, WorkflowStepExecutionStatusFailed, + WorkflowStepExecutionStatusCancelled, } } diff --git a/service/imagebuilder/imagebuilderiface/interface.go b/service/imagebuilder/imagebuilderiface/interface.go index 1ab19ca50c9..793725a4741 100644 --- a/service/imagebuilder/imagebuilderiface/interface.go +++ b/service/imagebuilder/imagebuilderiface/interface.go @@ -100,6 +100,10 @@ type ImagebuilderAPI interface { CreateLifecyclePolicyWithContext(aws.Context, *imagebuilder.CreateLifecyclePolicyInput, ...request.Option) (*imagebuilder.CreateLifecyclePolicyOutput, error) CreateLifecyclePolicyRequest(*imagebuilder.CreateLifecyclePolicyInput) (*request.Request, *imagebuilder.CreateLifecyclePolicyOutput) + CreateWorkflow(*imagebuilder.CreateWorkflowInput) (*imagebuilder.CreateWorkflowOutput, error) + CreateWorkflowWithContext(aws.Context, *imagebuilder.CreateWorkflowInput, ...request.Option) (*imagebuilder.CreateWorkflowOutput, error) + CreateWorkflowRequest(*imagebuilder.CreateWorkflowInput) (*request.Request, *imagebuilder.CreateWorkflowOutput) + DeleteComponent(*imagebuilder.DeleteComponentInput) (*imagebuilder.DeleteComponentOutput, error) DeleteComponentWithContext(aws.Context, *imagebuilder.DeleteComponentInput, ...request.Option) (*imagebuilder.DeleteComponentOutput, error) DeleteComponentRequest(*imagebuilder.DeleteComponentInput) (*request.Request, *imagebuilder.DeleteComponentOutput) @@ -132,6 +136,10 @@ type ImagebuilderAPI interface { DeleteLifecyclePolicyWithContext(aws.Context, *imagebuilder.DeleteLifecyclePolicyInput, ...request.Option) (*imagebuilder.DeleteLifecyclePolicyOutput, error) DeleteLifecyclePolicyRequest(*imagebuilder.DeleteLifecyclePolicyInput) (*request.Request, *imagebuilder.DeleteLifecyclePolicyOutput) + DeleteWorkflow(*imagebuilder.DeleteWorkflowInput) (*imagebuilder.DeleteWorkflowOutput, error) + DeleteWorkflowWithContext(aws.Context, *imagebuilder.DeleteWorkflowInput, ...request.Option) (*imagebuilder.DeleteWorkflowOutput, error) + DeleteWorkflowRequest(*imagebuilder.DeleteWorkflowInput) (*request.Request, *imagebuilder.DeleteWorkflowOutput) + GetComponent(*imagebuilder.GetComponentInput) (*imagebuilder.GetComponentOutput, error) GetComponentWithContext(aws.Context, *imagebuilder.GetComponentInput, ...request.Option) (*imagebuilder.GetComponentOutput, error) GetComponentRequest(*imagebuilder.GetComponentInput) (*request.Request, *imagebuilder.GetComponentOutput) @@ -184,6 +192,10 @@ type ImagebuilderAPI interface { GetLifecyclePolicyWithContext(aws.Context, *imagebuilder.GetLifecyclePolicyInput, ...request.Option) (*imagebuilder.GetLifecyclePolicyOutput, error) GetLifecyclePolicyRequest(*imagebuilder.GetLifecyclePolicyInput) (*request.Request, *imagebuilder.GetLifecyclePolicyOutput) + GetWorkflow(*imagebuilder.GetWorkflowInput) (*imagebuilder.GetWorkflowOutput, error) + GetWorkflowWithContext(aws.Context, *imagebuilder.GetWorkflowInput, ...request.Option) (*imagebuilder.GetWorkflowOutput, error) + GetWorkflowRequest(*imagebuilder.GetWorkflowInput) (*request.Request, *imagebuilder.GetWorkflowOutput) + GetWorkflowExecution(*imagebuilder.GetWorkflowExecutionInput) (*imagebuilder.GetWorkflowExecutionOutput, error) GetWorkflowExecutionWithContext(aws.Context, *imagebuilder.GetWorkflowExecutionInput, ...request.Option) (*imagebuilder.GetWorkflowExecutionOutput, error) GetWorkflowExecutionRequest(*imagebuilder.GetWorkflowExecutionInput) (*request.Request, *imagebuilder.GetWorkflowExecutionOutput) @@ -316,6 +328,20 @@ type ImagebuilderAPI interface { ListTagsForResourceWithContext(aws.Context, *imagebuilder.ListTagsForResourceInput, ...request.Option) (*imagebuilder.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*imagebuilder.ListTagsForResourceInput) (*request.Request, *imagebuilder.ListTagsForResourceOutput) + ListWaitingWorkflowSteps(*imagebuilder.ListWaitingWorkflowStepsInput) (*imagebuilder.ListWaitingWorkflowStepsOutput, error) + ListWaitingWorkflowStepsWithContext(aws.Context, *imagebuilder.ListWaitingWorkflowStepsInput, ...request.Option) (*imagebuilder.ListWaitingWorkflowStepsOutput, error) + ListWaitingWorkflowStepsRequest(*imagebuilder.ListWaitingWorkflowStepsInput) (*request.Request, *imagebuilder.ListWaitingWorkflowStepsOutput) + + ListWaitingWorkflowStepsPages(*imagebuilder.ListWaitingWorkflowStepsInput, func(*imagebuilder.ListWaitingWorkflowStepsOutput, bool) bool) error + ListWaitingWorkflowStepsPagesWithContext(aws.Context, *imagebuilder.ListWaitingWorkflowStepsInput, func(*imagebuilder.ListWaitingWorkflowStepsOutput, bool) bool, ...request.Option) error + + ListWorkflowBuildVersions(*imagebuilder.ListWorkflowBuildVersionsInput) (*imagebuilder.ListWorkflowBuildVersionsOutput, error) + ListWorkflowBuildVersionsWithContext(aws.Context, *imagebuilder.ListWorkflowBuildVersionsInput, ...request.Option) (*imagebuilder.ListWorkflowBuildVersionsOutput, error) + ListWorkflowBuildVersionsRequest(*imagebuilder.ListWorkflowBuildVersionsInput) (*request.Request, *imagebuilder.ListWorkflowBuildVersionsOutput) + + ListWorkflowBuildVersionsPages(*imagebuilder.ListWorkflowBuildVersionsInput, func(*imagebuilder.ListWorkflowBuildVersionsOutput, bool) bool) error + ListWorkflowBuildVersionsPagesWithContext(aws.Context, *imagebuilder.ListWorkflowBuildVersionsInput, func(*imagebuilder.ListWorkflowBuildVersionsOutput, bool) bool, ...request.Option) error + ListWorkflowExecutions(*imagebuilder.ListWorkflowExecutionsInput) (*imagebuilder.ListWorkflowExecutionsOutput, error) ListWorkflowExecutionsWithContext(aws.Context, *imagebuilder.ListWorkflowExecutionsInput, ...request.Option) (*imagebuilder.ListWorkflowExecutionsOutput, error) ListWorkflowExecutionsRequest(*imagebuilder.ListWorkflowExecutionsInput) (*request.Request, *imagebuilder.ListWorkflowExecutionsOutput) @@ -330,6 +356,13 @@ type ImagebuilderAPI interface { ListWorkflowStepExecutionsPages(*imagebuilder.ListWorkflowStepExecutionsInput, func(*imagebuilder.ListWorkflowStepExecutionsOutput, bool) bool) error ListWorkflowStepExecutionsPagesWithContext(aws.Context, *imagebuilder.ListWorkflowStepExecutionsInput, func(*imagebuilder.ListWorkflowStepExecutionsOutput, bool) bool, ...request.Option) error + ListWorkflows(*imagebuilder.ListWorkflowsInput) (*imagebuilder.ListWorkflowsOutput, error) + ListWorkflowsWithContext(aws.Context, *imagebuilder.ListWorkflowsInput, ...request.Option) (*imagebuilder.ListWorkflowsOutput, error) + ListWorkflowsRequest(*imagebuilder.ListWorkflowsInput) (*request.Request, *imagebuilder.ListWorkflowsOutput) + + ListWorkflowsPages(*imagebuilder.ListWorkflowsInput, func(*imagebuilder.ListWorkflowsOutput, bool) bool) error + ListWorkflowsPagesWithContext(aws.Context, *imagebuilder.ListWorkflowsInput, func(*imagebuilder.ListWorkflowsOutput, bool) bool, ...request.Option) error + PutComponentPolicy(*imagebuilder.PutComponentPolicyInput) (*imagebuilder.PutComponentPolicyOutput, error) PutComponentPolicyWithContext(aws.Context, *imagebuilder.PutComponentPolicyInput, ...request.Option) (*imagebuilder.PutComponentPolicyOutput, error) PutComponentPolicyRequest(*imagebuilder.PutComponentPolicyInput) (*request.Request, *imagebuilder.PutComponentPolicyOutput) @@ -346,6 +379,10 @@ type ImagebuilderAPI interface { PutImageRecipePolicyWithContext(aws.Context, *imagebuilder.PutImageRecipePolicyInput, ...request.Option) (*imagebuilder.PutImageRecipePolicyOutput, error) PutImageRecipePolicyRequest(*imagebuilder.PutImageRecipePolicyInput) (*request.Request, *imagebuilder.PutImageRecipePolicyOutput) + SendWorkflowStepAction(*imagebuilder.SendWorkflowStepActionInput) (*imagebuilder.SendWorkflowStepActionOutput, error) + SendWorkflowStepActionWithContext(aws.Context, *imagebuilder.SendWorkflowStepActionInput, ...request.Option) (*imagebuilder.SendWorkflowStepActionOutput, error) + SendWorkflowStepActionRequest(*imagebuilder.SendWorkflowStepActionInput) (*request.Request, *imagebuilder.SendWorkflowStepActionOutput) + StartImagePipelineExecution(*imagebuilder.StartImagePipelineExecutionInput) (*imagebuilder.StartImagePipelineExecutionOutput, error) StartImagePipelineExecutionWithContext(aws.Context, *imagebuilder.StartImagePipelineExecutionInput, ...request.Option) (*imagebuilder.StartImagePipelineExecutionOutput, error) StartImagePipelineExecutionRequest(*imagebuilder.StartImagePipelineExecutionInput) (*request.Request, *imagebuilder.StartImagePipelineExecutionOutput) diff --git a/service/locationservice/api.go b/service/locationservice/api.go index a8b967dda31..c5d4c61d7b6 100644 --- a/service/locationservice/api.go +++ b/service/locationservice/api.go @@ -7854,6 +7854,13 @@ func (s *CalculateRouteCarModeOptions) SetAvoidTolls(v bool) *CalculateRouteCarM type CalculateRouteInput struct { _ struct{} `type:"structure"` + // Specifies the desired time of arrival. Uses the given time to calculate the + // route. Otherwise, the best time of day to travel with the best traffic conditions + // is used to calculate the route. + // + // ArrivalTime is not supported Esri. + ArrivalTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // The name of the route calculator resource that you want to use to calculate // the route. // @@ -7899,8 +7906,6 @@ type CalculateRouteInput struct { // the route. Otherwise, the best time of day to travel with the best traffic // conditions is used to calculate the route. // - // Setting a departure time in the past returns a 400 ValidationException error. - // // * In ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) // format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 DepartureTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -7944,6 +7949,9 @@ type CalculateRouteInput struct { // String and GoString methods. Key *string `location:"querystring" locationName:"key" type:"string" sensitive:"true"` + // Specifies the distance to optimize for when calculating a route. + OptimizeFor *string `type:"string" enum:"OptimizationMode"` + // Specifies the mode of transport when calculating a route. Used in estimating // the speed of travel and road compatibility. You can choose Car, Truck, Walking, // Bicycle or Motorcycle as options for the TravelMode. @@ -8038,6 +8046,12 @@ func (s *CalculateRouteInput) Validate() error { return nil } +// SetArrivalTime sets the ArrivalTime field's value. +func (s *CalculateRouteInput) SetArrivalTime(v time.Time) *CalculateRouteInput { + s.ArrivalTime = &v + return s +} + // SetCalculatorName sets the CalculatorName field's value. func (s *CalculateRouteInput) SetCalculatorName(v string) *CalculateRouteInput { s.CalculatorName = &v @@ -8092,6 +8106,12 @@ func (s *CalculateRouteInput) SetKey(v string) *CalculateRouteInput { return s } +// SetOptimizeFor sets the OptimizeFor field's value. +func (s *CalculateRouteInput) SetOptimizeFor(v string) *CalculateRouteInput { + s.OptimizeFor = &v + return s +} + // SetTravelMode sets the TravelMode field's value. func (s *CalculateRouteInput) SetTravelMode(v string) *CalculateRouteInput { s.TravelMode = &v @@ -13584,7 +13604,7 @@ func (s *LegGeometry) SetLineString(v [][]*float64) *LegGeometry { type ListDevicePositionsInput struct { _ struct{} `type:"structure"` - // The geomerty used to filter device positions. + // The geometry used to filter device positions. FilterGeometry *TrackingFilterGeometry `type:"structure"` // An optional limit for the number of entries returned in a single call. @@ -15701,6 +15721,13 @@ type Place struct { // Street. Street *string `type:"string"` + // An area that's part of a larger municipality. For example, Blissville is + // a submunicipality in the Queen County in New York. + // + // This property supported by Esri and OpenData. The Esri property is district, + // and the OpenData property is borough. + SubMunicipality *string `type:"string"` + // A county, or an area that's part of a larger region. For example, Metro Vancouver. SubRegion *string `type:"string"` @@ -15809,6 +15836,12 @@ func (s *Place) SetStreet(v string) *Place { return s } +// SetSubMunicipality sets the SubMunicipality field's value. +func (s *Place) SetSubMunicipality(v string) *Place { + s.SubMunicipality = &v + return s +} + // SetSubRegion sets the SubRegion field's value. func (s *Place) SetSubRegion(v string) *Place { s.SubRegion = &v @@ -19298,6 +19331,22 @@ func IntendedUse_Values() []string { } } +const ( + // OptimizationModeFastestRoute is a OptimizationMode enum value + OptimizationModeFastestRoute = "FastestRoute" + + // OptimizationModeShortestRoute is a OptimizationMode enum value + OptimizationModeShortestRoute = "ShortestRoute" +) + +// OptimizationMode_Values returns all elements of the OptimizationMode enum +func OptimizationMode_Values() []string { + return []string{ + OptimizationModeFastestRoute, + OptimizationModeShortestRoute, + } +} + const ( // PositionFilteringTimeBased is a PositionFiltering enum value PositionFilteringTimeBased = "TimeBased"