From e88e0ae0e94fe4bb21bb303278e0f5f6bc825f6b Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Mon, 2 Dec 2019 08:36:53 +0000 Subject: [PATCH] Release v1.25.44 (2019-12-02) === ### Service Client Updates * `service/ec2`: Updates service API and documentation * AWS now provides a new BYOL experience for software licenses, such as Windows and SQL Server, that require a dedicated physical server. You can now enjoy the flexibility and cost effectiveness of using your own licenses on Amazon EC2 Dedicated Hosts, but with the simplicity, resiliency, and elasticity of AWS. You can specify your Dedicated Host management preferences, such as host allocation, host capacity utilization, and instance placement in AWS License Manager. Once set up, AWS takes care of these administrative tasks on your behalf, so that you can seamlessly launch virtual machines (instances) on Dedicated Hosts just like you would launch an EC2 instance with AWS provided licenses. * `service/imagebuilder`: Adds new service * `service/license-manager`: Updates service API and documentation * `service/schemas`: Adds new service --- CHANGELOG.md | 10 + aws/endpoints/defaults.go | 47 +- aws/version.go | 2 +- models/apis/ec2/2016-11-15/api-2.json | 19 +- models/apis/ec2/2016-11-15/docs-2.json | 7 +- .../apis/imagebuilder/2019-12-02/api-2.json | 2387 ++++ .../apis/imagebuilder/2019-12-02/docs-2.json | 1432 ++ .../imagebuilder/2019-12-02/examples-1.json | 5 + .../imagebuilder/2019-12-02/paginators-1.json | 49 + .../license-manager/2018-08-01/api-2.json | 122 +- .../license-manager/2018-08-01/docs-2.json | 296 +- models/apis/schemas/2019-12-02/api-2.json | 2700 ++++ models/apis/schemas/2019-12-02/docs-2.json | 413 + .../apis/schemas/2019-12-02/paginators-1.json | 34 + models/apis/schemas/2019-12-02/waiters-2.json | 36 + models/endpoints/endpoints.json | 46 +- service/ec2/api.go | 65 +- service/imagebuilder/api.go | 11505 ++++++++++++++++ service/imagebuilder/doc.go | 38 + service/imagebuilder/errors.go | 109 + .../imagebuilderiface/interface.go | 259 + service/imagebuilder/service.go | 101 + service/licensemanager/api.go | 891 +- service/licensemanager/doc.go | 10 +- .../licensemanageriface/interface.go | 4 + service/schemas/api.go | 5837 ++++++++ service/schemas/doc.go | 28 + service/schemas/errors.go | 42 + service/schemas/schemasiface/interface.go | 198 + service/schemas/service.go | 101 + service/schemas/waiters.go | 71 + 31 files changed, 26585 insertions(+), 279 deletions(-) create mode 100644 models/apis/imagebuilder/2019-12-02/api-2.json create mode 100644 models/apis/imagebuilder/2019-12-02/docs-2.json create mode 100644 models/apis/imagebuilder/2019-12-02/examples-1.json create mode 100644 models/apis/imagebuilder/2019-12-02/paginators-1.json create mode 100644 models/apis/schemas/2019-12-02/api-2.json create mode 100644 models/apis/schemas/2019-12-02/docs-2.json create mode 100644 models/apis/schemas/2019-12-02/paginators-1.json create mode 100644 models/apis/schemas/2019-12-02/waiters-2.json create mode 100644 service/imagebuilder/api.go create mode 100644 service/imagebuilder/doc.go create mode 100644 service/imagebuilder/errors.go create mode 100644 service/imagebuilder/imagebuilderiface/interface.go create mode 100644 service/imagebuilder/service.go create mode 100644 service/schemas/api.go create mode 100644 service/schemas/doc.go create mode 100644 service/schemas/errors.go create mode 100644 service/schemas/schemasiface/interface.go create mode 100644 service/schemas/service.go create mode 100644 service/schemas/waiters.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 8327944cd64..784dd9479d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.25.44 (2019-12-02) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * AWS now provides a new BYOL experience for software licenses, such as Windows and SQL Server, that require a dedicated physical server. You can now enjoy the flexibility and cost effectiveness of using your own licenses on Amazon EC2 Dedicated Hosts, but with the simplicity, resiliency, and elasticity of AWS. You can specify your Dedicated Host management preferences, such as host allocation, host capacity utilization, and instance placement in AWS License Manager. Once set up, AWS takes care of these administrative tasks on your behalf, so that you can seamlessly launch virtual machines (instances) on Dedicated Hosts just like you would launch an EC2 instance with AWS provided licenses. +* `service/imagebuilder`: Adds new service +* `service/license-manager`: Updates service API and documentation +* `service/schemas`: Adds new service + Release v1.25.43 (2019-11-26) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 3a57aba5b87..5eb99c1020d 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -2077,6 +2077,27 @@ var awsPartition = partition{ }, }, }, + "iotsecuredtunneling": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "iotthingsgraph": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -2733,8 +2754,30 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "pinpoint-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "pinpoint-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{ + Hostname: "pinpoint.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-west-2": endpoint{ + Hostname: "pinpoint.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "polly": service{ diff --git a/aws/version.go b/aws/version.go index b899a609db1..9df3ff69327 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.25.43" +const SDKVersion = "1.25.44" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 48e43fa9feb..48f80c37856 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -14362,6 +14362,10 @@ "AvailabilityZoneId":{ "shape":"String", "locationName":"availabilityZoneId" + }, + "MemberOfServiceLinkedResourceGroup":{ + "shape":"Boolean", + "locationName":"memberOfServiceLinkedResourceGroup" } } }, @@ -17608,6 +17612,10 @@ "SpreadDomain":{ "shape":"String", "locationName":"spreadDomain" + }, + "HostResourceGroupArn":{ + "shape":"String", + "locationName":"hostResourceGroupArn" } } }, @@ -17619,7 +17627,8 @@ "GroupName":{"shape":"String"}, "HostId":{"shape":"String"}, "Tenancy":{"shape":"Tenancy"}, - "SpreadDomain":{"shape":"String"} + "SpreadDomain":{"shape":"String"}, + "HostResourceGroupArn":{"shape":"String"} } }, "LaunchTemplateSet":{ @@ -18312,7 +18321,8 @@ "shape":"HostTenancy", "locationName":"tenancy" }, - "PartitionNumber":{"shape":"Integer"} + "PartitionNumber":{"shape":"Integer"}, + "HostResourceGroupArn":{"shape":"String"} } }, "ModifyInstancePlacementResult":{ @@ -19876,6 +19886,10 @@ "SpreadDomain":{ "shape":"String", "locationName":"spreadDomain" + }, + "HostResourceGroupArn":{ + "shape":"String", + "locationName":"hostResourceGroupArn" } } }, @@ -21838,6 +21852,7 @@ "route-table", "security-group", "snapshot", + "spot-fleet-request", "spot-instances-request", "subnet", "traffic-mirror-filter", diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 57473b6586b..42740bbbf5b 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -1310,6 +1310,7 @@ "GetTransitGatewayRouteTablePropagationsRequest$DryRun": "

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

", "HibernationOptions$Configured": "

If this parameter is set to true, your instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

", "HibernationOptionsRequest$Configured": "

If you set this parameter to true, your instance is enabled for hibernation.

Default: false

", + "Host$MemberOfServiceLinkedResourceGroup": "

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the host is in a host resource group; otherwise, it is not.

", "IdFormat$UseLongIds": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", "Image$Public": "

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

", "Image$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", @@ -5480,7 +5481,7 @@ "DescribeInstanceStatusRequest$Filters": "

The filters.

", "DescribeInstanceTypeOfferingsRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstancesRequest$Filters": "

The filters.

", + "DescribeInstancesRequest$Filters": "

The filters.

", "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeKeyPairsRequest$Filters": "

The filters.

", "DescribeLaunchTemplateVersionsRequest$Filters": "

One or more filters.

", @@ -11381,11 +11382,13 @@ "LaunchTemplatePlacement$GroupName": "

The name of the placement group for the instance.

", "LaunchTemplatePlacement$HostId": "

The ID of the Dedicated Host for the instance.

", "LaunchTemplatePlacement$SpreadDomain": "

Reserved for future use.

", + "LaunchTemplatePlacement$HostResourceGroupArn": "

The ARN of the host resource group in which to launch the instances.

", "LaunchTemplatePlacementRequest$AvailabilityZone": "

The Availability Zone for the instance.

", "LaunchTemplatePlacementRequest$Affinity": "

The affinity setting for an instance on a Dedicated Host.

", "LaunchTemplatePlacementRequest$GroupName": "

The name of the placement group for the instance.

", "LaunchTemplatePlacementRequest$HostId": "

The ID of the Dedicated Host for the instance.

", "LaunchTemplatePlacementRequest$SpreadDomain": "

Reserved for future use.

", + "LaunchTemplatePlacementRequest$HostResourceGroupArn": "

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

", "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template.

", "LaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template.

", "LaunchTemplateSpecification$Version": "

The version number of the launch template.

Default: The default version for the launch template.

", @@ -11416,6 +11419,7 @@ "ModifyInstanceEventStartTimeRequest$InstanceEventId": "

The ID of the event whose date and time you are modifying.

", "ModifyInstanceMetadataOptionsRequest$InstanceId": "

The ID of the instance.

", "ModifyInstanceMetadataOptionsResult$InstanceId": "

The ID of the instance.

", + "ModifyInstancePlacementRequest$HostResourceGroupArn": "

The ARN of the host resource group in which to place the instance.

", "ModifyLaunchTemplateRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraint: Maximum 128 ASCII characters.

", "ModifyLaunchTemplateRequest$DefaultVersion": "

The version number of the launch template to set as the default version.

", "ModifyReservedInstancesRequest$ClientToken": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", @@ -11502,6 +11506,7 @@ "Placement$GroupName": "

The name of the placement group the instance is in.

", "Placement$HostId": "

The ID of the Dedicated Host on which the instance resides. This parameter is not supported for the ImportInstance command.

", "Placement$SpreadDomain": "

Reserved for future use.

", + "Placement$HostResourceGroupArn": "

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

", "PlacementGroup$GroupName": "

The name of the placement group.

", "PlacementGroupStringList$member": null, "PlacementResponse$GroupName": "

The name of the placement group the instance is in.

", diff --git a/models/apis/imagebuilder/2019-12-02/api-2.json b/models/apis/imagebuilder/2019-12-02/api-2.json new file mode 100644 index 00000000000..c88e3fde420 --- /dev/null +++ b/models/apis/imagebuilder/2019-12-02/api-2.json @@ -0,0 +1,2387 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-02", + "endpointPrefix":"imagebuilder", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"imagebuilder", + "serviceFullName":"EC2 Image Builder", + "serviceId":"imagebuilder", + "signatureVersion":"v4", + "signingName":"imagebuilder", + "uid":"imagebuilder-2019-12-02" + }, + "operations":{ + "CancelImageCreation":{ + "name":"CancelImageCreation", + "http":{ + "method":"PUT", + "requestUri":"/CancelImageCreation" + }, + "input":{"shape":"CancelImageCreationRequest"}, + "output":{"shape":"CancelImageCreationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, + "CreateComponent":{ + "name":"CreateComponent", + "http":{ + "method":"PUT", + "requestUri":"/CreateComponent" + }, + "input":{"shape":"CreateComponentRequest"}, + "output":{"shape":"CreateComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "CreateDistributionConfiguration":{ + "name":"CreateDistributionConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/CreateDistributionConfiguration" + }, + "input":{"shape":"CreateDistributionConfigurationRequest"}, + "output":{"shape":"CreateDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "CreateImage":{ + "name":"CreateImage", + "http":{ + "method":"PUT", + "requestUri":"/CreateImage" + }, + "input":{"shape":"CreateImageRequest"}, + "output":{"shape":"CreateImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, + "CreateImagePipeline":{ + "name":"CreateImagePipeline", + "http":{ + "method":"PUT", + "requestUri":"/CreateImagePipeline" + }, + "input":{"shape":"CreateImagePipelineRequest"}, + "output":{"shape":"CreateImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, + "CreateImageRecipe":{ + "name":"CreateImageRecipe", + "http":{ + "method":"PUT", + "requestUri":"/CreateImageRecipe" + }, + "input":{"shape":"CreateImageRecipeRequest"}, + "output":{"shape":"CreateImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, + "CreateInfrastructureConfiguration":{ + "name":"CreateInfrastructureConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/CreateInfrastructureConfiguration" + }, + "input":{"shape":"CreateInfrastructureConfigurationRequest"}, + "output":{"shape":"CreateInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, + "DeleteComponent":{ + "name":"DeleteComponent", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteComponent" + }, + "input":{"shape":"DeleteComponentRequest"}, + "output":{"shape":"DeleteComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "DeleteDistributionConfiguration":{ + "name":"DeleteDistributionConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteDistributionConfiguration" + }, + "input":{"shape":"DeleteDistributionConfigurationRequest"}, + "output":{"shape":"DeleteDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "DeleteImage":{ + "name":"DeleteImage", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImage" + }, + "input":{"shape":"DeleteImageRequest"}, + "output":{"shape":"DeleteImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "DeleteImagePipeline":{ + "name":"DeleteImagePipeline", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImagePipeline" + }, + "input":{"shape":"DeleteImagePipelineRequest"}, + "output":{"shape":"DeleteImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "DeleteImageRecipe":{ + "name":"DeleteImageRecipe", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImageRecipe" + }, + "input":{"shape":"DeleteImageRecipeRequest"}, + "output":{"shape":"DeleteImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "DeleteInfrastructureConfiguration":{ + "name":"DeleteInfrastructureConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteInfrastructureConfiguration" + }, + "input":{"shape":"DeleteInfrastructureConfigurationRequest"}, + "output":{"shape":"DeleteInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ] + }, + "GetComponent":{ + "name":"GetComponent", + "http":{ + "method":"GET", + "requestUri":"/GetComponent" + }, + "input":{"shape":"GetComponentRequest"}, + "output":{"shape":"GetComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetComponentPolicy":{ + "name":"GetComponentPolicy", + "http":{ + "method":"GET", + "requestUri":"/GetComponentPolicy" + }, + "input":{"shape":"GetComponentPolicyRequest"}, + "output":{"shape":"GetComponentPolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetDistributionConfiguration":{ + "name":"GetDistributionConfiguration", + "http":{ + "method":"GET", + "requestUri":"/GetDistributionConfiguration" + }, + "input":{"shape":"GetDistributionConfigurationRequest"}, + "output":{"shape":"GetDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetImage":{ + "name":"GetImage", + "http":{ + "method":"GET", + "requestUri":"/GetImage" + }, + "input":{"shape":"GetImageRequest"}, + "output":{"shape":"GetImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetImagePipeline":{ + "name":"GetImagePipeline", + "http":{ + "method":"GET", + "requestUri":"/GetImagePipeline" + }, + "input":{"shape":"GetImagePipelineRequest"}, + "output":{"shape":"GetImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetImagePolicy":{ + "name":"GetImagePolicy", + "http":{ + "method":"GET", + "requestUri":"/GetImagePolicy" + }, + "input":{"shape":"GetImagePolicyRequest"}, + "output":{"shape":"GetImagePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetImageRecipe":{ + "name":"GetImageRecipe", + "http":{ + "method":"GET", + "requestUri":"/GetImageRecipe" + }, + "input":{"shape":"GetImageRecipeRequest"}, + "output":{"shape":"GetImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetImageRecipePolicy":{ + "name":"GetImageRecipePolicy", + "http":{ + "method":"GET", + "requestUri":"/GetImageRecipePolicy" + }, + "input":{"shape":"GetImageRecipePolicyRequest"}, + "output":{"shape":"GetImageRecipePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "GetInfrastructureConfiguration":{ + "name":"GetInfrastructureConfiguration", + "http":{ + "method":"GET", + "requestUri":"/GetInfrastructureConfiguration" + }, + "input":{"shape":"GetInfrastructureConfigurationRequest"}, + "output":{"shape":"GetInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ImportComponent":{ + "name":"ImportComponent", + "http":{ + "method":"PUT", + "requestUri":"/ImportComponent" + }, + "input":{"shape":"ImportComponentRequest"}, + "output":{"shape":"ImportComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "ListComponentBuildVersions":{ + "name":"ListComponentBuildVersions", + "http":{ + "method":"POST", + "requestUri":"/ListComponentBuildVersions" + }, + "input":{"shape":"ListComponentBuildVersionsRequest"}, + "output":{"shape":"ListComponentBuildVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListComponents":{ + "name":"ListComponents", + "http":{ + "method":"POST", + "requestUri":"/ListComponents" + }, + "input":{"shape":"ListComponentsRequest"}, + "output":{"shape":"ListComponentsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListDistributionConfigurations":{ + "name":"ListDistributionConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListDistributionConfigurations" + }, + "input":{"shape":"ListDistributionConfigurationsRequest"}, + "output":{"shape":"ListDistributionConfigurationsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListImageBuildVersions":{ + "name":"ListImageBuildVersions", + "http":{ + "method":"POST", + "requestUri":"/ListImageBuildVersions" + }, + "input":{"shape":"ListImageBuildVersionsRequest"}, + "output":{"shape":"ListImageBuildVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListImagePipelineImages":{ + "name":"ListImagePipelineImages", + "http":{ + "method":"POST", + "requestUri":"/ListImagePipelineImages" + }, + "input":{"shape":"ListImagePipelineImagesRequest"}, + "output":{"shape":"ListImagePipelineImagesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListImagePipelines":{ + "name":"ListImagePipelines", + "http":{ + "method":"POST", + "requestUri":"/ListImagePipelines" + }, + "input":{"shape":"ListImagePipelinesRequest"}, + "output":{"shape":"ListImagePipelinesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListImageRecipes":{ + "name":"ListImageRecipes", + "http":{ + "method":"POST", + "requestUri":"/ListImageRecipes" + }, + "input":{"shape":"ListImageRecipesRequest"}, + "output":{"shape":"ListImageRecipesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListImages":{ + "name":"ListImages", + "http":{ + "method":"POST", + "requestUri":"/ListImages" + }, + "input":{"shape":"ListImagesRequest"}, + "output":{"shape":"ListImagesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListInfrastructureConfigurations":{ + "name":"ListInfrastructureConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListInfrastructureConfigurations" + }, + "input":{"shape":"ListInfrastructureConfigurationsRequest"}, + "output":{"shape":"ListInfrastructureConfigurationsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "PutComponentPolicy":{ + "name":"PutComponentPolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutComponentPolicy" + }, + "input":{"shape":"PutComponentPolicyRequest"}, + "output":{"shape":"PutComponentPolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "PutImagePolicy":{ + "name":"PutImagePolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutImagePolicy" + }, + "input":{"shape":"PutImagePolicyRequest"}, + "output":{"shape":"PutImagePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "PutImageRecipePolicy":{ + "name":"PutImageRecipePolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutImageRecipePolicy" + }, + "input":{"shape":"PutImageRecipePolicyRequest"}, + "output":{"shape":"PutImageRecipePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ] + }, + "StartImagePipelineExecution":{ + "name":"StartImagePipelineExecution", + "http":{ + "method":"PUT", + "requestUri":"/StartImagePipelineExecution" + }, + "input":{"shape":"StartImagePipelineExecutionRequest"}, + "output":{"shape":"StartImagePipelineExecutionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateDistributionConfiguration":{ + "name":"UpdateDistributionConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/UpdateDistributionConfiguration" + }, + "input":{"shape":"UpdateDistributionConfigurationRequest"}, + "output":{"shape":"UpdateDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "UpdateImagePipeline":{ + "name":"UpdateImagePipeline", + "http":{ + "method":"PUT", + "requestUri":"/UpdateImagePipeline" + }, + "input":{"shape":"UpdateImagePipelineRequest"}, + "output":{"shape":"UpdateImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + }, + "UpdateInfrastructureConfiguration":{ + "name":"UpdateInfrastructureConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/UpdateInfrastructureConfiguration" + }, + "input":{"shape":"UpdateInfrastructureConfigurationRequest"}, + "output":{"shape":"UpdateInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ] + } + }, + "shapes":{ + "AccountList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Ami":{ + "type":"structure", + "members":{ + "region":{"shape":"NonEmptyString"}, + "image":{"shape":"NonEmptyString"}, + "name":{"shape":"NonEmptyString"}, + "description":{"shape":"NonEmptyString"}, + "state":{"shape":"ImageState"} + } + }, + "AmiDistributionConfiguration":{ + "type":"structure", + "members":{ + "name":{"shape":"NonEmptyString"}, + "description":{"shape":"NonEmptyString"}, + "amiTags":{"shape":"TagMap"}, + "launchPermission":{"shape":"LaunchPermissionConfiguration"} + } + }, + "AmiList":{ + "type":"list", + "member":{"shape":"Ami"} + }, + "Arn":{"type":"string"}, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "CallRateLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "CancelImageCreationRequest":{ + "type":"structure", + "required":[ + "imageBuildVersionArn", + "clientToken" + ], + "members":{ + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}, + "clientToken":{"shape":"ClientToken"} + } + }, + "CancelImageCreationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"} + } + }, + "ClientException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ClientToken":{ + "type":"string", + "max":36, + "min":1 + }, + "Component":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "type":{"shape":"ComponentType"}, + "platform":{"shape":"Platform"}, + "owner":{"shape":"NonEmptyString"}, + "data":{"shape":"ComponentData"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "encrypted":{"shape":"NullableBoolean"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "ComponentBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$" + }, + "ComponentConfiguration":{ + "type":"structure", + "required":["componentArn"], + "members":{ + "componentArn":{"shape":"ComponentBuildVersionArn"} + } + }, + "ComponentConfigurationList":{ + "type":"list", + "member":{"shape":"ComponentConfiguration"}, + "min":1 + }, + "ComponentData":{"type":"string"}, + "ComponentFormat":{ + "type":"string", + "enum":["SHELL"] + }, + "ComponentSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "platform":{"shape":"Platform"}, + "type":{"shape":"ComponentType"}, + "owner":{"shape":"NonEmptyString"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "ComponentSummaryList":{ + "type":"list", + "member":{"shape":"ComponentSummary"} + }, + "ComponentType":{ + "type":"string", + "enum":[ + "BUILD", + "TEST" + ] + }, + "ComponentVersion":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "platform":{"shape":"Platform"}, + "type":{"shape":"ComponentType"}, + "owner":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"} + } + }, + "ComponentVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ComponentVersionList":{ + "type":"list", + "member":{"shape":"ComponentVersion"} + }, + "CreateComponentRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "platform", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "semanticVersion":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "platform":{"shape":"Platform"}, + "data":{"shape":"InlineComponentData"}, + "uri":{"shape":"Uri"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"} + } + }, + "CreateDistributionConfigurationRequest":{ + "type":"structure", + "required":[ + "name", + "distributions", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "distributions":{"shape":"DistributionList"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"} + } + }, + "CreateImagePipelineRequest":{ + "type":"structure", + "required":[ + "name", + "imageRecipeArn", + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "imageRecipeArn":{"shape":"ImageRecipeArn"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}, + "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"}, + "schedule":{"shape":"Schedule"}, + "status":{"shape":"PipelineStatus"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imagePipelineArn":{"shape":"ImagePipelineArn"} + } + }, + "CreateImageRecipeRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "components", + "parentImage", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "semanticVersion":{"shape":"VersionNumber"}, + "components":{"shape":"ComponentConfigurationList"}, + "parentImage":{"shape":"NonEmptyString"}, + "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imageRecipeArn":{"shape":"ImageRecipeArn"} + } + }, + "CreateImageRequest":{ + "type":"structure", + "required":[ + "imageRecipeArn", + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "imageRecipeArn":{"shape":"ImageRecipeArn"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}, + "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateImageResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"} + } + }, + "CreateInfrastructureConfigurationRequest":{ + "type":"structure", + "required":[ + "name", + "instanceProfileName", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "instanceTypes":{"shape":"InstanceTypeList"}, + "instanceProfileName":{"shape":"NonEmptyString"}, + "securityGroupIds":{"shape":"SecurityGroupIds"}, + "subnetId":{"shape":"NonEmptyString"}, + "logging":{"shape":"Logging"}, + "keyPair":{"shape":"NonEmptyString"}, + "terminateInstanceOnFailure":{"shape":"NullableBoolean"}, + "snsTopicArn":{"shape":"NonEmptyString"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"} + } + }, + "DateTime":{"type":"string"}, + "DeleteComponentRequest":{ + "type":"structure", + "required":["componentBuildVersionArn"], + "members":{ + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "location":"querystring", + "locationName":"componentBuildVersionArn" + } + } + }, + "DeleteComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"} + } + }, + "DeleteDistributionConfigurationRequest":{ + "type":"structure", + "required":["distributionConfigurationArn"], + "members":{ + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "location":"querystring", + "locationName":"distributionConfigurationArn" + } + } + }, + "DeleteDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"} + } + }, + "DeleteImagePipelineRequest":{ + "type":"structure", + "required":["imagePipelineArn"], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "location":"querystring", + "locationName":"imagePipelineArn" + } + } + }, + "DeleteImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imagePipelineArn":{"shape":"ImagePipelineArn"} + } + }, + "DeleteImageRecipeRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "DeleteImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageRecipeArn":{"shape":"ImageRecipeArn"} + } + }, + "DeleteImageRequest":{ + "type":"structure", + "required":["imageBuildVersionArn"], + "members":{ + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "location":"querystring", + "locationName":"imageBuildVersionArn" + } + } + }, + "DeleteImageResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"} + } + }, + "DeleteInfrastructureConfigurationRequest":{ + "type":"structure", + "required":["infrastructureConfigurationArn"], + "members":{ + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "location":"querystring", + "locationName":"infrastructureConfigurationArn" + } + } + }, + "DeleteInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"} + } + }, + "Distribution":{ + "type":"structure", + "required":["region"], + "members":{ + "region":{"shape":"NonEmptyString"}, + "amiDistributionConfiguration":{"shape":"AmiDistributionConfiguration"}, + "licenseConfigurationArns":{"shape":"ArnList"} + } + }, + "DistributionConfiguration":{ + "type":"structure", + "required":["timeoutMinutes"], + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "distributions":{"shape":"DistributionList"}, + "timeoutMinutes":{"shape":"DistributionTimeoutMinutes"}, + "dateCreated":{"shape":"DateTime"}, + "dateUpdated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "DistributionConfigurationArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):distribution-configuration/[a-z0-9-_]+$" + }, + "DistributionConfigurationSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "dateUpdated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "DistributionConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"DistributionConfigurationSummary"} + }, + "DistributionList":{ + "type":"list", + "member":{"shape":"Distribution"} + }, + "DistributionTimeoutMinutes":{ + "type":"integer", + "max":720, + "min":30 + }, + "EbsInstanceBlockDeviceSpecification":{ + "type":"structure", + "members":{ + "encrypted":{"shape":"NullableBoolean"}, + "deleteOnTermination":{"shape":"NullableBoolean"}, + "iops":{"shape":"EbsIopsInteger"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "snapshotId":{"shape":"NonEmptyString"}, + "volumeSize":{"shape":"EbsVolumeSizeInteger"}, + "volumeType":{"shape":"EbsVolumeType"} + } + }, + "EbsIopsInteger":{ + "type":"integer", + "max":10000, + "min":100 + }, + "EbsVolumeSizeInteger":{ + "type":"integer", + "max":16000, + "min":1 + }, + "EbsVolumeType":{ + "type":"string", + "enum":[ + "standard", + "io1", + "gp2", + "sc1", + "st1" + ] + }, + "ErrorMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "name":{"shape":"FilterName"}, + "values":{"shape":"FilterValues"} + } + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":10, + "min":1 + }, + "FilterName":{ + "type":"string", + "pattern":"^[a-zA-Z]{1,1024}$" + }, + "FilterValue":{ + "type":"string", + "pattern":"^[0-9a-zA-Z./_ :-]{1,1024}$" + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "max":10, + "min":1 + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "GetComponentPolicyRequest":{ + "type":"structure", + "required":["componentArn"], + "members":{ + "componentArn":{ + "shape":"ComponentBuildVersionArn", + "location":"querystring", + "locationName":"componentArn" + } + } + }, + "GetComponentPolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "GetComponentRequest":{ + "type":"structure", + "required":["componentBuildVersionArn"], + "members":{ + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "location":"querystring", + "locationName":"componentBuildVersionArn" + } + } + }, + "GetComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "component":{"shape":"Component"} + } + }, + "GetDistributionConfigurationRequest":{ + "type":"structure", + "required":["distributionConfigurationArn"], + "members":{ + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "location":"querystring", + "locationName":"distributionConfigurationArn" + } + } + }, + "GetDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "distributionConfiguration":{"shape":"DistributionConfiguration"} + } + }, + "GetImagePipelineRequest":{ + "type":"structure", + "required":["imagePipelineArn"], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "location":"querystring", + "locationName":"imagePipelineArn" + } + } + }, + "GetImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imagePipeline":{"shape":"ImagePipeline"} + } + }, + "GetImagePolicyRequest":{ + "type":"structure", + "required":["imageArn"], + "members":{ + "imageArn":{ + "shape":"ImageBuildVersionArn", + "location":"querystring", + "locationName":"imageArn" + } + } + }, + "GetImagePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "GetImageRecipePolicyRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "GetImageRecipePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "GetImageRecipeRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "GetImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageRecipe":{"shape":"ImageRecipe"} + } + }, + "GetImageRequest":{ + "type":"structure", + "required":["imageBuildVersionArn"], + "members":{ + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "location":"querystring", + "locationName":"imageBuildVersionArn" + } + } + }, + "GetImageResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "image":{"shape":"Image"} + } + }, + "GetInfrastructureConfigurationRequest":{ + "type":"structure", + "required":["infrastructureConfigurationArn"], + "members":{ + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "location":"querystring", + "locationName":"infrastructureConfigurationArn" + } + } + }, + "GetInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "infrastructureConfiguration":{"shape":"InfrastructureConfiguration"} + } + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Image":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "platform":{"shape":"Platform"}, + "state":{"shape":"ImageState"}, + "imageRecipe":{"shape":"ImageRecipe"}, + "sourcePipelineName":{"shape":"ResourceName"}, + "sourcePipelineArn":{"shape":"Arn"}, + "infrastructureConfiguration":{"shape":"InfrastructureConfiguration"}, + "distributionConfiguration":{"shape":"DistributionConfiguration"}, + "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"}, + "dateCreated":{"shape":"DateTime"}, + "outputResources":{"shape":"OutputResources"}, + "tags":{"shape":"TagMap"} + } + }, + "ImageBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$" + }, + "ImageBuilderArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\\d+)\\.(?:x|\\d+)\\.(?:x|\\d+))(?:/\\d+)?)?$" + }, + "ImagePipeline":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "platform":{"shape":"Platform"}, + "imageRecipeArn":{"shape":"Arn"}, + "infrastructureConfigurationArn":{"shape":"Arn"}, + "distributionConfigurationArn":{"shape":"Arn"}, + "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"}, + "schedule":{"shape":"Schedule"}, + "status":{"shape":"PipelineStatus"}, + "dateCreated":{"shape":"DateTime"}, + "dateUpdated":{"shape":"DateTime"}, + "dateLastRun":{"shape":"DateTime"}, + "dateNextRun":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "ImagePipelineArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-pipeline/[a-z0-9-_]+$" + }, + "ImagePipelineList":{ + "type":"list", + "member":{"shape":"ImagePipeline"} + }, + "ImageRecipe":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "platform":{"shape":"Platform"}, + "owner":{"shape":"NonEmptyString"}, + "version":{"shape":"VersionNumber"}, + "components":{"shape":"ComponentConfigurationList"}, + "parentImage":{"shape":"NonEmptyString"}, + "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "ImageRecipeArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-recipe/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ImageRecipeSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "platform":{"shape":"Platform"}, + "owner":{"shape":"NonEmptyString"}, + "parentImage":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "ImageRecipeSummaryList":{ + "type":"list", + "member":{"shape":"ImageRecipeSummary"} + }, + "ImageState":{ + "type":"structure", + "members":{ + "status":{"shape":"ImageStatus"}, + "reason":{"shape":"NonEmptyString"} + } + }, + "ImageStatus":{ + "type":"string", + "enum":[ + "PENDING", + "CREATING", + "BUILDING", + "TESTING", + "DISTRIBUTING", + "INTEGRATING", + "AVAILABLE", + "CANCELLED", + "FAILED", + "DEPRECATED", + "DELETED" + ] + }, + "ImageSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "platform":{"shape":"Platform"}, + "state":{"shape":"ImageState"}, + "owner":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "outputResources":{"shape":"OutputResources"}, + "tags":{"shape":"TagMap"} + } + }, + "ImageSummaryList":{ + "type":"list", + "member":{"shape":"ImageSummary"} + }, + "ImageTestsConfiguration":{ + "type":"structure", + "members":{ + "imageTestsEnabled":{"shape":"NullableBoolean"}, + "timeoutMinutes":{"shape":"ImageTestsTimeoutMinutes"} + } + }, + "ImageTestsTimeoutMinutes":{ + "type":"integer", + "max":1440, + "min":60 + }, + "ImageVersion":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "version":{"shape":"VersionNumber"}, + "platform":{"shape":"Platform"}, + "owner":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"} + } + }, + "ImageVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ImageVersionList":{ + "type":"list", + "member":{"shape":"ImageVersion"} + }, + "ImportComponentRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "type", + "format", + "platform", + "clientToken" + ], + "members":{ + "name":{"shape":"ResourceName"}, + "semanticVersion":{"shape":"VersionNumber"}, + "description":{"shape":"NonEmptyString"}, + "changeDescription":{"shape":"NonEmptyString"}, + "type":{"shape":"ComponentType"}, + "format":{"shape":"ComponentFormat"}, + "platform":{"shape":"Platform"}, + "data":{"shape":"NonEmptyString"}, + "uri":{"shape":"Uri"}, + "kmsKeyId":{"shape":"NonEmptyString"}, + "tags":{"shape":"TagMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "ImportComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"} + } + }, + "InfrastructureConfiguration":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "instanceTypes":{"shape":"InstanceTypeList"}, + "instanceProfileName":{"shape":"NonEmptyString"}, + "securityGroupIds":{"shape":"SecurityGroupIds"}, + "subnetId":{"shape":"NonEmptyString"}, + "logging":{"shape":"Logging"}, + "keyPair":{"shape":"NonEmptyString"}, + "terminateInstanceOnFailure":{"shape":"NullableBoolean"}, + "snsTopicArn":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "dateUpdated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "InfrastructureConfigurationArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):infrastructure-configuration/[a-z0-9-_]+$" + }, + "InfrastructureConfigurationSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"ImageBuilderArn"}, + "name":{"shape":"ResourceName"}, + "description":{"shape":"NonEmptyString"}, + "dateCreated":{"shape":"DateTime"}, + "dateUpdated":{"shape":"DateTime"}, + "tags":{"shape":"TagMap"} + } + }, + "InfrastructureConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"InfrastructureConfigurationSummary"} + }, + "InlineComponentData":{ + "type":"string", + "max":16000, + "min":1 + }, + "InstanceBlockDeviceMapping":{ + "type":"structure", + "members":{ + "deviceName":{"shape":"NonEmptyString"}, + "ebs":{"shape":"EbsInstanceBlockDeviceSpecification"}, + "virtualName":{"shape":"NonEmptyString"}, + "noDevice":{"shape":"NonEmptyString"} + } + }, + "InstanceBlockDeviceMappings":{ + "type":"list", + "member":{"shape":"InstanceBlockDeviceMapping"} + }, + "InstanceType":{"type":"string"}, + "InstanceTypeList":{ + "type":"list", + "member":{"shape":"InstanceType"} + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidVersionNumberException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LaunchPermissionConfiguration":{ + "type":"structure", + "members":{ + "userIds":{"shape":"AccountList"}, + "userGroups":{"shape":"StringList"} + } + }, + "ListComponentBuildVersionsRequest":{ + "type":"structure", + "required":["componentVersionArn"], + "members":{ + "componentVersionArn":{"shape":"ComponentVersionArn"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListComponentBuildVersionsResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "componentSummaryList":{"shape":"ComponentSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListComponentsRequest":{ + "type":"structure", + "members":{ + "owner":{"shape":"Ownership"}, + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListComponentsResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "componentVersionList":{"shape":"ComponentVersionList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListDistributionConfigurationsRequest":{ + "type":"structure", + "members":{ + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListDistributionConfigurationsResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "distributionConfigurationSummaryList":{"shape":"DistributionConfigurationSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImageBuildVersionsRequest":{ + "type":"structure", + "required":["imageVersionArn"], + "members":{ + "imageVersionArn":{"shape":"ImageVersionArn"}, + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImageBuildVersionsResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageSummaryList":{"shape":"ImageSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagePipelineImagesRequest":{ + "type":"structure", + "members":{ + "imagePipelineArn":{"shape":"ImagePipelineArn"}, + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagePipelineImagesResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageSummaryList":{"shape":"ImageSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagePipelinesRequest":{ + "type":"structure", + "members":{ + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagePipelinesResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imagePipelineList":{"shape":"ImagePipelineList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImageRecipesRequest":{ + "type":"structure", + "members":{ + "owner":{"shape":"Ownership"}, + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImageRecipesResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageRecipeSummaryList":{"shape":"ImageRecipeSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagesRequest":{ + "type":"structure", + "members":{ + "owner":{"shape":"Ownership"}, + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListImagesResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageVersionList":{"shape":"ImageVersionList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListInfrastructureConfigurationsRequest":{ + "type":"structure", + "members":{ + "filters":{"shape":"FilterList"}, + "maxResults":{ + "shape":"RestrictedInteger", + "box":true + }, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListInfrastructureConfigurationsResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "infrastructureConfigurationSummaryList":{"shape":"InfrastructureConfigurationSummaryList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "Logging":{ + "type":"structure", + "members":{ + "s3Logs":{"shape":"S3Logs"} + } + }, + "NonEmptyString":{ + "type":"string", + "max":1024, + "min":1 + }, + "NullableBoolean":{"type":"boolean"}, + "OutputResources":{ + "type":"structure", + "members":{ + "amis":{"shape":"AmiList"} + } + }, + "Ownership":{ + "type":"string", + "enum":[ + "Self", + "Shared", + "Amazon" + ] + }, + "PipelineExecutionStartCondition":{ + "type":"string", + "enum":[ + "EXPRESSION_MATCH_ONLY", + "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" + ] + }, + "PipelineStatus":{ + "type":"string", + "enum":[ + "DISABLED", + "ENABLED" + ] + }, + "Platform":{ + "type":"string", + "enum":[ + "Windows", + "Linux" + ] + }, + "PutComponentPolicyRequest":{ + "type":"structure", + "required":[ + "componentArn", + "policy" + ], + "members":{ + "componentArn":{"shape":"ComponentBuildVersionArn"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "PutComponentPolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "componentArn":{"shape":"ComponentBuildVersionArn"} + } + }, + "PutImagePolicyRequest":{ + "type":"structure", + "required":[ + "imageArn", + "policy" + ], + "members":{ + "imageArn":{"shape":"ImageBuildVersionArn"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "PutImagePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageArn":{"shape":"ImageBuildVersionArn"} + } + }, + "PutImageRecipePolicyRequest":{ + "type":"structure", + "required":[ + "imageRecipeArn", + "policy" + ], + "members":{ + "imageRecipeArn":{"shape":"ImageRecipeArn"}, + "policy":{"shape":"NonEmptyString"} + } + }, + "PutImageRecipePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "imageRecipeArn":{"shape":"ImageRecipeArn"} + } + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceDependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceName":{ + "type":"string", + "pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "RestrictedInteger":{ + "type":"integer", + "max":25, + "min":1 + }, + "S3Logs":{ + "type":"structure", + "members":{ + "s3BucketName":{"shape":"NonEmptyString"}, + "s3KeyPrefix":{"shape":"NonEmptyString"} + } + }, + "Schedule":{ + "type":"structure", + "members":{ + "scheduleExpression":{"shape":"NonEmptyString"}, + "pipelineExecutionStartCondition":{"shape":"PipelineExecutionStartCondition"} + } + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "ServiceException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":503}, + "exception":true + }, + "StartImagePipelineExecutionRequest":{ + "type":"structure", + "required":[ + "imagePipelineArn", + "clientToken" + ], + "members":{ + "imagePipelineArn":{"shape":"ImagePipelineArn"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "StartImagePipelineExecutionResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imageBuildVersionArn":{"shape":"ImageBuildVersionArn"} + } + }, + "StringList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDistributionConfigurationRequest":{ + "type":"structure", + "required":[ + "distributionConfigurationArn", + "clientToken" + ], + "members":{ + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}, + "description":{"shape":"NonEmptyString"}, + "distributions":{"shape":"DistributionList"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"} + } + }, + "UpdateImagePipelineRequest":{ + "type":"structure", + "required":[ + "imagePipelineArn", + "clientToken" + ], + "members":{ + "imagePipelineArn":{"shape":"ImagePipelineArn"}, + "description":{"shape":"NonEmptyString"}, + "imageRecipeArn":{"shape":"ImageRecipeArn"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}, + "distributionConfigurationArn":{"shape":"DistributionConfigurationArn"}, + "imageTestsConfiguration":{"shape":"ImageTestsConfiguration"}, + "schedule":{"shape":"Schedule"}, + "status":{"shape":"PipelineStatus"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "imagePipelineArn":{"shape":"ImagePipelineArn"} + } + }, + "UpdateInfrastructureConfigurationRequest":{ + "type":"structure", + "required":[ + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"}, + "description":{"shape":"NonEmptyString"}, + "instanceTypes":{"shape":"InstanceTypeList"}, + "instanceProfileName":{"shape":"NonEmptyString"}, + "securityGroupIds":{"shape":"SecurityGroupIds"}, + "subnetId":{"shape":"NonEmptyString"}, + "logging":{"shape":"Logging"}, + "keyPair":{"shape":"NonEmptyString"}, + "terminateInstanceOnFailure":{"shape":"NullableBoolean"}, + "snsTopicArn":{"shape":"NonEmptyString"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{"shape":"NonEmptyString"}, + "clientToken":{"shape":"ClientToken"}, + "infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"} + } + }, + "Uri":{"type":"string"}, + "VersionNumber":{ + "type":"string", + "pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$" + } + } +} diff --git a/models/apis/imagebuilder/2019-12-02/docs-2.json b/models/apis/imagebuilder/2019-12-02/docs-2.json new file mode 100644 index 00000000000..d8becac3b64 --- /dev/null +++ b/models/apis/imagebuilder/2019-12-02/docs-2.json @@ -0,0 +1,1432 @@ +{ + "version": "2.0", + "service": "

Amazon Elastic Compute Cloud Image Builder provides a one-stop-shop to automate the image management processes. You configure an automated pipeline that creates images for use on AWS. As software updates become available, Image Builder automatically produces a new image based on a customizable schedule and distributes it to stipulated AWS Regions after running tests on it. With the Image Builder, organizations can capture their internal or industry-specific compliance policies as a vetted template that can be consistently applied to every new image. Built-in integration with AWS Organizations provides customers with a centralized way to enforce image distribution and access policies across their AWS accounts and Regions. Image Builder supports multiple image format AMIs on AWS.

", + "operations": { + "CancelImageCreation": "

CancelImageCreation cancels the creation of Image. This operation may only be used on images in a non-terminal state.

", + "CreateComponent": "

Creates a new component that can be used to build, validate, test and assess your image.

", + "CreateDistributionConfiguration": "

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

", + "CreateImage": "

Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration.

", + "CreateImagePipeline": "

Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

", + "CreateImageRecipe": "

Creates a new image recipe. Image Recipes defines 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.

", + "DeleteComponent": "

Deletes a component build version.

", + "DeleteDistributionConfiguration": "

Deletes a distribution configuration.

", + "DeleteImage": "

Deletes an image.

", + "DeleteImagePipeline": "

Deletes an image pipeline.

", + "DeleteImageRecipe": "

Deletes an image recipe.

", + "DeleteInfrastructureConfiguration": "

Deletes an infrastructure configuration.

", + "GetComponent": "

Gets a component object.

", + "GetComponentPolicy": "

Gets a component policy.

", + "GetDistributionConfiguration": "

Gets a distribution configuration.

", + "GetImage": "

Gets an image.

", + "GetImagePipeline": "

Gets an image pipeline.

", + "GetImagePolicy": "

Gets an image policy.

", + "GetImageRecipe": "

Gets an image recipe.

", + "GetImageRecipePolicy": "

Gets an image recipe policy.

", + "GetInfrastructureConfiguration": "

Gets a infrastructure configuration.

", + "ImportComponent": "

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

", + "ListComponentBuildVersions": "

Returns the list of component build versions for the specified semantic version.

", + "ListComponents": "

Returns the list of component build versions for the specified semantic version.

", + "ListDistributionConfigurations": "

Returns a list of distribution configurations.

", + "ListImageBuildVersions": "

Returns a list of distribution configurations.

", + "ListImagePipelineImages": "

Returns a list of images created by the specified pipeline.

", + "ListImagePipelines": "

Returns a list of image pipelines.

", + "ListImageRecipes": "

Returns a list of image recipes.

", + "ListImages": "

Returns the list of image build versions for the specified semantic version.

", + "ListInfrastructureConfigurations": "

Returns a list of infrastructure configurations.

", + "ListTagsForResource": "

Returns the list of tags for the specified resource.

", + "PutComponentPolicy": "

Applies a policy to a component.

", + "PutImagePolicy": "

Applies a policy to an image.

", + "PutImageRecipePolicy": "

Applies a policy to an image recipe.

", + "StartImagePipelineExecution": "

Manually triggers a pipeline to create an image.

", + "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 a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

", + "UpdateInfrastructureConfiguration": "

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

" + }, + "shapes": { + "AccountList": { + "base": null, + "refs": { + "LaunchPermissionConfiguration$userIds": "

" + } + }, + "Ami": { + "base": "

Details of an EC2 AMI.

", + "refs": { + "AmiList$member": null + } + }, + "AmiDistributionConfiguration": { + "base": "

Define and configure the outputs AMIs of the pipeline.

", + "refs": { + "Distribution$amiDistributionConfiguration": "

" + } + }, + "AmiList": { + "base": null, + "refs": { + "OutputResources$amis": "

The EC2 AMIs created by this image.

" + } + }, + "Arn": { + "base": null, + "refs": { + "ArnList$member": null, + "Image$sourcePipelineArn": "

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

", + "ImagePipeline$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.

", + "ImagePipeline$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastruction configuration associated with this image pipeline.

", + "ImagePipeline$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.

" + } + }, + "ArnList": { + "base": null, + "refs": { + "Distribution$licenseConfigurationArns": "

" + } + }, + "CallRateLimitExceededException": { + "base": "

You have exceeded the permitted request rate for the specific operation.

", + "refs": { + } + }, + "CancelImageCreationRequest": { + "base": null, + "refs": { + } + }, + "CancelImageCreationResponse": { + "base": null, + "refs": { + } + }, + "ClientException": { + "base": "

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.

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

The idempotency token used to make this request idempotent.

", + "CancelImageCreationResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateComponentRequest$clientToken": "

CThe idempotency token of the component.

", + "CreateComponentResponse$clientToken": "

CThe idempotency token used to make this request idempotent.

", + "CreateDistributionConfigurationRequest$clientToken": "

The idempotency token of the distribution configuration.

", + "CreateDistributionConfigurationResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImagePipelineRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImagePipelineResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImageRecipeRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImageRecipeResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImageRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateImageResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateInfrastructureConfigurationRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "CreateInfrastructureConfigurationResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "ImportComponentRequest$clientToken": "

The idempotency token of the component.

", + "ImportComponentResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "StartImagePipelineExecutionRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "StartImagePipelineExecutionResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "UpdateDistributionConfigurationRequest$clientToken": "

The idempotency token of the distribution configuration.

", + "UpdateDistributionConfigurationResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "UpdateImagePipelineRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "UpdateImagePipelineResponse$clientToken": "

The idempotency token used to make this request idempotent.

", + "UpdateInfrastructureConfigurationRequest$clientToken": "

The idempotency token used to make this request idempotent.

", + "UpdateInfrastructureConfigurationResponse$clientToken": "

The idempotency token used to make this request idempotent.

" + } + }, + "Component": { + "base": "

A detailed view of a component.

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

The component object associated with the specified ARN.

" + } + }, + "ComponentBuildVersionArn": { + "base": null, + "refs": { + "ComponentConfiguration$componentArn": "

The Amazon Resource Name (ARN) of the component.

", + "CreateComponentResponse$componentBuildVersionArn": "

CThe Amazon Resource Name (ARN) of the component that was created by this request.

", + "DeleteComponentRequest$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component build version to delete.

", + "DeleteComponentResponse$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component build version that was deleted.

", + "GetComponentPolicyRequest$componentArn": "

The Amazon Resource Name (ARN) of the component whose policy you wish to retrieve.

", + "GetComponentRequest$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component that you wish to retrieve.

", + "ImportComponentResponse$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the imported component.

", + "PutComponentPolicyRequest$componentArn": "

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

", + "PutComponentPolicyResponse$componentArn": "

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

" + } + }, + "ComponentConfiguration": { + "base": "

Configuration details of the component.

", + "refs": { + "ComponentConfigurationList$member": null + } + }, + "ComponentConfigurationList": { + "base": null, + "refs": { + "CreateImageRecipeRequest$components": "

The components of the image recipe.

", + "ImageRecipe$components": "

The components of the image recipe.

" + } + }, + "ComponentData": { + "base": null, + "refs": { + "Component$data": "

The data of the component.

" + } + }, + "ComponentFormat": { + "base": null, + "refs": { + "ImportComponentRequest$format": "

The format of the resource that you wish to import as a component.

" + } + }, + "ComponentSummary": { + "base": "

A high level summary of a component.

", + "refs": { + "ComponentSummaryList$member": null + } + }, + "ComponentSummaryList": { + "base": null, + "refs": { + "ListComponentBuildVersionsResponse$componentSummaryList": "

The list of component summaries for the specified semantic version.

" + } + }, + "ComponentType": { + "base": null, + "refs": { + "Component$type": "

The type of the component denotes whether the component is used to build the image or only to test it.

", + "ComponentSummary$type": "

The type of the component denotes whether the component is used to build the image or only to test it.

", + "ComponentVersion$type": "

The type of the component denotes whether the component is used to build the image or only to test it.

", + "ImportComponentRequest$type": "

The type of the component denotes whether the component is used to build the image or only to test it.

" + } + }, + "ComponentVersion": { + "base": "

A high level overview of a component semantic version.

", + "refs": { + "ComponentVersionList$member": null + } + }, + "ComponentVersionArn": { + "base": null, + "refs": { + "ListComponentBuildVersionsRequest$componentVersionArn": "

The component version arn whose versions you wish to list.

" + } + }, + "ComponentVersionList": { + "base": null, + "refs": { + "ListComponentsResponse$componentVersionList": "

The list of component semantic versions.

" + } + }, + "CreateComponentRequest": { + "base": null, + "refs": { + } + }, + "CreateComponentResponse": { + "base": null, + "refs": { + } + }, + "CreateDistributionConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateDistributionConfigurationResponse": { + "base": null, + "refs": { + } + }, + "CreateImagePipelineRequest": { + "base": null, + "refs": { + } + }, + "CreateImagePipelineResponse": { + "base": null, + "refs": { + } + }, + "CreateImageRecipeRequest": { + "base": null, + "refs": { + } + }, + "CreateImageRecipeResponse": { + "base": null, + "refs": { + } + }, + "CreateImageRequest": { + "base": null, + "refs": { + } + }, + "CreateImageResponse": { + "base": null, + "refs": { + } + }, + "CreateInfrastructureConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateInfrastructureConfigurationResponse": { + "base": null, + "refs": { + } + }, + "DateTime": { + "base": null, + "refs": { + "Component$dateCreated": "

The date that the component was created.

", + "ComponentSummary$dateCreated": "

The date that the component was created.

", + "ComponentVersion$dateCreated": "

The date that the component was created.

", + "DistributionConfiguration$dateCreated": "

The date on which this distribution configuration was created.

", + "DistributionConfiguration$dateUpdated": "

The date on which this distribution configuration was last updated.

", + "DistributionConfigurationSummary$dateCreated": "

The date on which the distribution configuration was created.

", + "DistributionConfigurationSummary$dateUpdated": "

The date on which the distribution configuration was updated.

", + "Image$dateCreated": "

The date on which this image was created.

", + "ImagePipeline$dateCreated": "

The date on which this image pipeline was created.

", + "ImagePipeline$dateUpdated": "

The date on which this image pipeline was last updated.

", + "ImagePipeline$dateLastRun": "

The date on which this image pipeline was last run.

", + "ImagePipeline$dateNextRun": "

The date on which this image pipeline will next be run.

", + "ImageRecipe$dateCreated": "

The date on which this image recipe was created.

", + "ImageRecipeSummary$dateCreated": "

The date on which this image recipe was created.

", + "ImageSummary$dateCreated": "

The date on which this image was created.

", + "ImageVersion$dateCreated": "

The date at which this image semantic version was created.

", + "InfrastructureConfiguration$dateCreated": "

The date on which the infrastructure configuration was created.

", + "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.

" + } + }, + "DeleteComponentRequest": { + "base": null, + "refs": { + } + }, + "DeleteComponentResponse": { + "base": null, + "refs": { + } + }, + "DeleteDistributionConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteDistributionConfigurationResponse": { + "base": null, + "refs": { + } + }, + "DeleteImagePipelineRequest": { + "base": null, + "refs": { + } + }, + "DeleteImagePipelineResponse": { + "base": null, + "refs": { + } + }, + "DeleteImageRecipeRequest": { + "base": null, + "refs": { + } + }, + "DeleteImageRecipeResponse": { + "base": null, + "refs": { + } + }, + "DeleteImageRequest": { + "base": null, + "refs": { + } + }, + "DeleteImageResponse": { + "base": null, + "refs": { + } + }, + "DeleteInfrastructureConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteInfrastructureConfigurationResponse": { + "base": null, + "refs": { + } + }, + "Distribution": { + "base": "

", + "refs": { + "DistributionList$member": null + } + }, + "DistributionConfiguration": { + "base": "

A distribution configuration.

", + "refs": { + "GetDistributionConfigurationResponse$distributionConfiguration": "

The distribution configuration object.

", + "Image$distributionConfiguration": "

The distribution configuration used when creating this image.

" + } + }, + "DistributionConfigurationArn": { + "base": null, + "refs": { + "CreateDistributionConfigurationResponse$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that was created by this request.

", + "CreateImagePipelineRequest$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.

", + "CreateImageRequest$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.

", + "DeleteDistributionConfigurationRequest$distributionConfigurationArn": "

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

", + "DeleteDistributionConfigurationResponse$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that was deleted.

", + "GetDistributionConfigurationRequest$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that you wish to retrieve.

", + "UpdateDistributionConfigurationRequest$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that you wish to update.

", + "UpdateDistributionConfigurationResponse$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that was updated by this request.

", + "UpdateImagePipelineRequest$distributionConfigurationArn": "

The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images updated by this image pipeline.

" + } + }, + "DistributionConfigurationSummary": { + "base": "

A high level overview a distribution configuration.

", + "refs": { + "DistributionConfigurationSummaryList$member": null + } + }, + "DistributionConfigurationSummaryList": { + "base": null, + "refs": { + "ListDistributionConfigurationsResponse$distributionConfigurationSummaryList": "

The list of distributions.

" + } + }, + "DistributionList": { + "base": null, + "refs": { + "CreateDistributionConfigurationRequest$distributions": "

The distributions of the distribution configuration.

", + "DistributionConfiguration$distributions": "

The distributions of the distribution configuration.

", + "UpdateDistributionConfigurationRequest$distributions": "

The distributions of the distribution configuration.

" + } + }, + "DistributionTimeoutMinutes": { + "base": null, + "refs": { + "DistributionConfiguration$timeoutMinutes": "

The maximum duration in minutes for this distribution configuration.

" + } + }, + "EbsInstanceBlockDeviceSpecification": { + "base": "

EBS specific block device mapping specifications.

", + "refs": { + "InstanceBlockDeviceMapping$ebs": "

Use to manage EBS specific configuration for this mapping.

" + } + }, + "EbsIopsInteger": { + "base": null, + "refs": { + "EbsInstanceBlockDeviceSpecification$iops": "

Use to configure device IOPS.

" + } + }, + "EbsVolumeSizeInteger": { + "base": null, + "refs": { + "EbsInstanceBlockDeviceSpecification$volumeSize": "

Use to override the device's volume size.

" + } + }, + "EbsVolumeType": { + "base": null, + "refs": { + "EbsInstanceBlockDeviceSpecification$volumeType": "

Use to override the device's volume type.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "CallRateLimitExceededException$message": null, + "ClientException$message": null, + "ForbiddenException$message": null, + "IdempotentParameterMismatchException$message": null, + "InvalidPaginationTokenException$message": null, + "InvalidParameterCombinationException$message": null, + "InvalidParameterException$message": null, + "InvalidParameterValueException$message": null, + "InvalidRequestException$message": null, + "InvalidVersionNumberException$message": null, + "ResourceAlreadyExistsException$message": null, + "ResourceDependencyException$message": null, + "ResourceInUseException$message": null, + "ResourceNotFoundException$message": null, + "ServiceException$message": null, + "ServiceUnavailableException$message": null + } + }, + "Filter": { + "base": "

", + "refs": { + "FilterList$member": null + } + }, + "FilterList": { + "base": null, + "refs": { + "ListComponentsRequest$filters": "

", + "ListDistributionConfigurationsRequest$filters": "

", + "ListImageBuildVersionsRequest$filters": "

", + "ListImagePipelineImagesRequest$filters": "

", + "ListImagePipelinesRequest$filters": "

", + "ListImageRecipesRequest$filters": "

", + "ListImagesRequest$filters": "

", + "ListInfrastructureConfigurationsRequest$filters": "

" + } + }, + "FilterName": { + "base": null, + "refs": { + "Filter$name": "

" + } + }, + "FilterValue": { + "base": null, + "refs": { + "FilterValues$member": null + } + }, + "FilterValues": { + "base": null, + "refs": { + "Filter$values": "

" + } + }, + "ForbiddenException": { + "base": "

You are not authorized to perform the requested operation.

", + "refs": { + } + }, + "GetComponentPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetComponentPolicyResponse": { + "base": null, + "refs": { + } + }, + "GetComponentRequest": { + "base": null, + "refs": { + } + }, + "GetComponentResponse": { + "base": null, + "refs": { + } + }, + "GetDistributionConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetDistributionConfigurationResponse": { + "base": null, + "refs": { + } + }, + "GetImagePipelineRequest": { + "base": null, + "refs": { + } + }, + "GetImagePipelineResponse": { + "base": null, + "refs": { + } + }, + "GetImagePolicyRequest": { + "base": null, + "refs": { + } + }, + "GetImagePolicyResponse": { + "base": null, + "refs": { + } + }, + "GetImageRecipePolicyRequest": { + "base": null, + "refs": { + } + }, + "GetImageRecipePolicyResponse": { + "base": null, + "refs": { + } + }, + "GetImageRecipeRequest": { + "base": null, + "refs": { + } + }, + "GetImageRecipeResponse": { + "base": null, + "refs": { + } + }, + "GetImageRequest": { + "base": null, + "refs": { + } + }, + "GetImageResponse": { + "base": null, + "refs": { + } + }, + "GetInfrastructureConfigurationRequest": { + "base": "

GetInfrastructureConfiguration request object.

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

GetInfrastructureConfiguration response object.

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

You have specified an client token for an operation using parameter values that differ from a previous request that used the same client token.

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

An image build version.

", + "refs": { + "GetImageResponse$image": "

The image object.

" + } + }, + "ImageBuildVersionArn": { + "base": null, + "refs": { + "CancelImageCreationRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image whose creation you wish to cancel.

", + "CancelImageCreationResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image whose creation has been cancelled.

", + "CreateImageResponse$imageBuildVersionArn": "

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

", + "DeleteImageRequest$imageBuildVersionArn": "

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

", + "DeleteImageResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that was deleted.

", + "GetImagePolicyRequest$imageArn": "

The Amazon Resource Name (ARN) of the image whose policy you wish to retrieve.

", + "GetImageRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that you wish to retrieve.

", + "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.

", + "StartImagePipelineExecutionResponse$imageBuildVersionArn": "

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

" + } + }, + "ImageBuilderArn": { + "base": null, + "refs": { + "Component$arn": "

The Amazon Resource Name (ARN) of the component.

", + "ComponentSummary$arn": "

The Amazon Resource Name (ARN) of the component.

", + "ComponentVersion$arn": "

The Amazon Resource Name (ARN) of the component.

", + "DistributionConfiguration$arn": "

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

", + "DistributionConfigurationSummary$arn": "

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

", + "Image$arn": "

The Amazon Resource Name (ARN) of the image.

", + "ImagePipeline$arn": "

The Amazon Resource Name (ARN) of the image pipeline.

", + "ImageRecipe$arn": "

The Amazon Resource Name (ARN) of the image recipe.

", + "ImageRecipeSummary$arn": "

The Amazon Resource Name (ARN) of the image recipe.

", + "ImageSummary$arn": "

The Amazon Resource Name (ARN) of the image.

", + "ImageVersion$arn": "

The Amazon Resource Name (ARN) of the image semantic verion.

", + "InfrastructureConfiguration$arn": "

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

", + "InfrastructureConfigurationSummary$arn": "

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

", + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource whose tags you wish to retrieve.

", + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource that you wish to tag.

", + "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource that you wish to untag.

" + } + }, + "ImagePipeline": { + "base": "

Details of an image pipeline.

", + "refs": { + "GetImagePipelineResponse$imagePipeline": "

The image pipeline object.

", + "ImagePipelineList$member": null + } + }, + "ImagePipelineArn": { + "base": null, + "refs": { + "CreateImagePipelineResponse$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that was created by this request.

", + "DeleteImagePipelineRequest$imagePipelineArn": "

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

", + "DeleteImagePipelineResponse$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that was deleted.

", + "GetImagePipelineRequest$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that you wish to retrieve.

", + "ListImagePipelineImagesRequest$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline whose images you wish to view.

", + "StartImagePipelineExecutionRequest$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that you wish to manually invoke.

", + "UpdateImagePipelineRequest$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that you wish to update.

", + "UpdateImagePipelineResponse$imagePipelineArn": "

The Amazon Resource Name (ARN) of the image pipeline that was updated by this request.

" + } + }, + "ImagePipelineList": { + "base": null, + "refs": { + "ListImagePipelinesResponse$imagePipelineList": "

The list of image pipelines.

" + } + }, + "ImageRecipe": { + "base": "

An image recipe.

", + "refs": { + "GetImageRecipeResponse$imageRecipe": "

The image recipe object.

", + "Image$imageRecipe": "

The image recipe used when creating the image.

" + } + }, + "ImageRecipeArn": { + "base": null, + "refs": { + "CreateImagePipelineRequest$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.

", + "CreateImageRecipeResponse$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that was created by this request.

", + "CreateImageRequest$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested and assessed.

", + "DeleteImageRecipeRequest$imageRecipeArn": "

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

", + "DeleteImageRecipeResponse$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that was deleted.

", + "GetImageRecipePolicyRequest$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe whose policy you wish to retrieve.

", + "GetImageRecipeRequest$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that you wish to retrieve.

", + "PutImageRecipePolicyRequest$imageRecipeArn": "

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

", + "PutImageRecipePolicyResponse$imageRecipeArn": "

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

", + "UpdateImagePipelineRequest$imageRecipeArn": "

The Amazon Resource Name (ARN) of the image recipe that will be used to configure images updated by this image pipeline.

" + } + }, + "ImageRecipeSummary": { + "base": "

A summary of an image recipe.

", + "refs": { + "ImageRecipeSummaryList$member": null + } + }, + "ImageRecipeSummaryList": { + "base": null, + "refs": { + "ListImageRecipesResponse$imageRecipeSummaryList": "

The list of image pipelines.

" + } + }, + "ImageState": { + "base": "

Image state shows the images status and the reason for that status.

", + "refs": { + "Ami$state": null, + "Image$state": "

The state of the image.

", + "ImageSummary$state": "

The state of the image.

" + } + }, + "ImageStatus": { + "base": null, + "refs": { + "ImageState$status": "

The status of the image.

" + } + }, + "ImageSummary": { + "base": "

An image summary.

", + "refs": { + "ImageSummaryList$member": null + } + }, + "ImageSummaryList": { + "base": null, + "refs": { + "ListImageBuildVersionsResponse$imageSummaryList": "

The list of image build versions.

", + "ListImagePipelineImagesResponse$imageSummaryList": "

The list of images built by this pipeline.

" + } + }, + "ImageTestsConfiguration": { + "base": "

Image tests configuration.

", + "refs": { + "CreateImagePipelineRequest$imageTestsConfiguration": "

The image test configuration of the image pipeline.

", + "CreateImageRequest$imageTestsConfiguration": "

The image tests configuration of the image.

", + "Image$imageTestsConfiguration": "

The image tests configuration used when creating this image.

", + "ImagePipeline$imageTestsConfiguration": "

The image tests configuration of the image pipeline.

", + "UpdateImagePipelineRequest$imageTestsConfiguration": "

The image test configuration of the image pipeline.

" + } + }, + "ImageTestsTimeoutMinutes": { + "base": null, + "refs": { + "ImageTestsConfiguration$timeoutMinutes": "

The maximum time in minutes that tests are permitted to run for.

" + } + }, + "ImageVersion": { + "base": "

An image semantic version.

", + "refs": { + "ImageVersionList$member": null + } + }, + "ImageVersionArn": { + "base": null, + "refs": { + "ListImageBuildVersionsRequest$imageVersionArn": "

The Amazon Resource Name (ARN) of the image whose build versions you wish to retrieve.

" + } + }, + "ImageVersionList": { + "base": null, + "refs": { + "ListImagesResponse$imageVersionList": "

The list of image semantic versions.

" + } + }, + "ImportComponentRequest": { + "base": null, + "refs": { + } + }, + "ImportComponentResponse": { + "base": null, + "refs": { + } + }, + "InfrastructureConfiguration": { + "base": "

Details of the infrastructure configuration.

", + "refs": { + "GetInfrastructureConfigurationResponse$infrastructureConfiguration": "

The infrastructure configuration object.

", + "Image$infrastructureConfiguration": "

The infrastructure used when creating this image.

" + } + }, + "InfrastructureConfigurationArn": { + "base": null, + "refs": { + "CreateImagePipelineRequest$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.

", + "CreateImageRequest$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.

", + "CreateInfrastructureConfigurationResponse$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that was created by this request.

", + "DeleteInfrastructureConfigurationRequest$infrastructureConfigurationArn": "

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

", + "DeleteInfrastructureConfigurationResponse$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that was deleted.

", + "GetInfrastructureConfigurationRequest$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that you wish to retrieve.

", + "UpdateImagePipelineRequest$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images updated by this image pipeline.

", + "UpdateInfrastructureConfigurationRequest$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that you wish to update.

", + "UpdateInfrastructureConfigurationResponse$infrastructureConfigurationArn": "

The Amazon Resource Name (ARN) of the infrastructure configuration that was updated by this request.

" + } + }, + "InfrastructureConfigurationSummary": { + "base": "

The infrastructure used when building EC2 AMIs.

", + "refs": { + "InfrastructureConfigurationSummaryList$member": null + } + }, + "InfrastructureConfigurationSummaryList": { + "base": null, + "refs": { + "ListInfrastructureConfigurationsResponse$infrastructureConfigurationSummaryList": "

The list of infrastructure configurations.

" + } + }, + "InlineComponentData": { + "base": null, + "refs": { + "CreateComponentRequest$data": "

CThe data of the component.

" + } + }, + "InstanceBlockDeviceMapping": { + "base": "

Defines block device mappings for the instance used to configure your image.

", + "refs": { + "InstanceBlockDeviceMappings$member": null + } + }, + "InstanceBlockDeviceMappings": { + "base": null, + "refs": { + "CreateImageRecipeRequest$blockDeviceMappings": "

The block device mappings of the image recipe.

", + "ImageRecipe$blockDeviceMappings": "

The block device mappings to apply when creating images from this recipe.

" + } + }, + "InstanceType": { + "base": null, + "refs": { + "InstanceTypeList$member": null + } + }, + "InstanceTypeList": { + "base": null, + "refs": { + "CreateInfrastructureConfigurationRequest$instanceTypes": "

The instance types of the infrastructure configuration. You may specify one or more instance types to use for this build, the service will pick one of these instance types based on availability.

", + "InfrastructureConfiguration$instanceTypes": "

The instance types of the infrastruction configuration.

", + "UpdateInfrastructureConfigurationRequest$instanceTypes": "

The instance types of the infrastructure configuration. You may specify one or more instance types to use for this build, the service will pick one of these instance types based on availability.

" + } + }, + "InvalidPaginationTokenException": { + "base": "

You have provided an invalid pagination token in your request.

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

You have specified two or more mutually exclusive parameters. Review the error message for details.

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

The specified parameter is invalid. Review the available parameters for the API request.

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

The value that you provided for the specified parameter is invalid.

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

You have made a request for an action that is not supported by the service.

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

Your version number is out of bounds or does not follow the required syntax.

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

", + "refs": { + "AmiDistributionConfiguration$launchPermission": "

Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.

" + } + }, + "ListComponentBuildVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListComponentBuildVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListComponentsRequest": { + "base": null, + "refs": { + } + }, + "ListComponentsResponse": { + "base": null, + "refs": { + } + }, + "ListDistributionConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListDistributionConfigurationsResponse": { + "base": null, + "refs": { + } + }, + "ListImageBuildVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListImageBuildVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListImagePipelineImagesRequest": { + "base": null, + "refs": { + } + }, + "ListImagePipelineImagesResponse": { + "base": null, + "refs": { + } + }, + "ListImagePipelinesRequest": { + "base": null, + "refs": { + } + }, + "ListImagePipelinesResponse": { + "base": null, + "refs": { + } + }, + "ListImageRecipesRequest": { + "base": null, + "refs": { + } + }, + "ListImageRecipesResponse": { + "base": null, + "refs": { + } + }, + "ListImagesRequest": { + "base": null, + "refs": { + } + }, + "ListImagesResponse": { + "base": null, + "refs": { + } + }, + "ListInfrastructureConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListInfrastructureConfigurationsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "Logging": { + "base": "

Logging configuration defines where Image Builder uploads your logs to.

", + "refs": { + "CreateInfrastructureConfigurationRequest$logging": "

The logging configuration of the infrastructure configuration.

", + "InfrastructureConfiguration$logging": "

The logging configuration of the infrastruction configuration.

", + "UpdateInfrastructureConfigurationRequest$logging": "

The logging configuration of the infrastructure configuration.

" + } + }, + "NonEmptyString": { + "base": null, + "refs": { + "AccountList$member": null, + "Ami$region": "

The region of the EC2 AMI.

", + "Ami$image": "

The AMI ID of the EC2 AMI.

", + "Ami$name": "

The name of the EC2 AMI.

", + "Ami$description": "

The description of the EC2 AMI.

", + "AmiDistributionConfiguration$name": "

The name of the distribution configuration.

", + "AmiDistributionConfiguration$description": "

The description of the distribution configuration.

", + "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$owner": "

The owner of the component.

", + "Component$kmsKeyId": "

The KMS key identifier used to encrypt the component.

", + "ComponentSummary$owner": "

The owner of the component.

", + "ComponentSummary$description": "

The description of the component.

", + "ComponentSummary$changeDescription": "

The change description of the component.

", + "ComponentVersion$description": "

The description of the component.

", + "ComponentVersion$owner": "

The owner of the component.

", + "CreateComponentRequest$description": "

CThe description of the component. Describes the contents of the component.

", + "CreateComponentRequest$changeDescription": "

CThe change description of the component. Describes what change has been made in this version. In other words what makes this version different from other versions of this component.

", + "CreateComponentRequest$kmsKeyId": "

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

", + "CreateComponentResponse$requestId": "

CThe request ID that uniquely identifies this request.

", + "CreateDistributionConfigurationRequest$description": "

The description of the distribution configuration.

", + "CreateDistributionConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "CreateImagePipelineRequest$description": "

The description of the image pipeline.

", + "CreateImagePipelineResponse$requestId": "

The request ID that uniquely identifies this request.

", + "CreateImageRecipeRequest$description": "

The description of the image recipe.

", + "CreateImageRecipeRequest$parentImage": "

The parent image of the image recipe.

", + "CreateImageRecipeResponse$requestId": "

The request ID that uniquely identifies this request.

", + "CreateImageResponse$requestId": "

The request ID that uniquely identifies this request.

", + "CreateInfrastructureConfigurationRequest$description": "

The description of the infrastructure configuration.

", + "CreateInfrastructureConfigurationRequest$instanceProfileName": "

The instance profile to associate with the instance used to customize your EC2 AMI.

", + "CreateInfrastructureConfigurationRequest$subnetId": "

The subnet ID to place the instance used to customize your EC2 AMI in.

", + "CreateInfrastructureConfigurationRequest$keyPair": "

The key pair of the infrastructure configuration. This can be used to log onto and debug the instance used to create your image.

", + "CreateInfrastructureConfigurationRequest$snsTopicArn": "

The SNS topic on which to send image build events.

", + "CreateInfrastructureConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteComponentResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteDistributionConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteImagePipelineResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteImageRecipeResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteImageResponse$requestId": "

The request ID that uniquely identifies this request.

", + "DeleteInfrastructureConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "Distribution$region": "

", + "DistributionConfiguration$description": "

The description of the distribution configuration.

", + "DistributionConfigurationSummary$description": "

The description of the distribution configuration.

", + "EbsInstanceBlockDeviceSpecification$kmsKeyId": "

Use to configure the KMS key to use when encrypting the device.

", + "EbsInstanceBlockDeviceSpecification$snapshotId": "

The snapshot that defines the device contents.

", + "GetComponentPolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetComponentPolicyResponse$policy": "

The component policy.

", + "GetComponentResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetDistributionConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetImagePipelineResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetImagePolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetImagePolicyResponse$policy": "

The image policy object.

", + "GetImageRecipePolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetImageRecipePolicyResponse$policy": "

The image recipe policy object.

", + "GetImageRecipeResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetImageResponse$requestId": "

The request ID that uniquely identifies this request.

", + "GetInfrastructureConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ImagePipeline$description": "

The description of the image pipeline.

", + "ImageRecipe$description": "

The description of the image recipe.

", + "ImageRecipe$owner": "

The owner of the image recipe.

", + "ImageRecipe$parentImage": "

The parent image of the image recipe.

", + "ImageRecipeSummary$owner": "

The owner of the image recipe.

", + "ImageRecipeSummary$parentImage": "

The parent image of the image recipe.

", + "ImageState$reason": "

The reason for the image's status.

", + "ImageSummary$owner": "

The owner of the image.

", + "ImageVersion$owner": "

The owner of the image semantic version.

", + "ImportComponentRequest$description": "

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

", + "ImportComponentRequest$changeDescription": "

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

", + "ImportComponentRequest$data": "

The data of 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.

", + "InfrastructureConfiguration$description": "

The description of the infrastruction configuration.

", + "InfrastructureConfiguration$instanceProfileName": "

The instance profile of the infrastruction configuration.

", + "InfrastructureConfiguration$subnetId": "

The subnet ID of the infrastruction configuration.

", + "InfrastructureConfiguration$keyPair": "

The EC2 key pair of the infrastruction configuration.

", + "InfrastructureConfiguration$snsTopicArn": "

The SNS Topic Amazon Resource Name (ARN) of the infrastruction configuration.

", + "InfrastructureConfigurationSummary$description": "

The description of the infrastructure configuration.

", + "InstanceBlockDeviceMapping$deviceName": "

The device to which these mappings apply.

", + "InstanceBlockDeviceMapping$virtualName": "

Use to manage instance ephemeral devices.

", + "InstanceBlockDeviceMapping$noDevice": "

Use to remove a mapping from the parent image.

", + "ListComponentBuildVersionsRequest$nextToken": "

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

", + "ListComponentBuildVersionsResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListComponentBuildVersionsResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListComponentsRequest$nextToken": "

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

", + "ListComponentsResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListComponentsResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListDistributionConfigurationsRequest$nextToken": "

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

", + "ListDistributionConfigurationsResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListDistributionConfigurationsResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListImageBuildVersionsRequest$nextToken": "

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

", + "ListImageBuildVersionsResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListImageBuildVersionsResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListImagePipelineImagesRequest$nextToken": "

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

", + "ListImagePipelineImagesResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListImagePipelineImagesResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListImagePipelinesRequest$nextToken": "

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

", + "ListImagePipelinesResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListImagePipelinesResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListImageRecipesRequest$nextToken": "

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

", + "ListImageRecipesResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListImageRecipesResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListImagesRequest$nextToken": "

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

", + "ListImagesResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListImagesResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "ListInfrastructureConfigurationsRequest$nextToken": "

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

", + "ListInfrastructureConfigurationsResponse$requestId": "

The request ID that uniquely identifies this request.

", + "ListInfrastructureConfigurationsResponse$nextToken": "

The next token used for paginated responses. When this is not empty then there are additional elements that the service that not include in this request. Use this token with the next request to retrieve additional object.

", + "PutComponentPolicyRequest$policy": "

The policy to apply.

", + "PutComponentPolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "PutImagePolicyRequest$policy": "

The policy to apply.

", + "PutImagePolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "PutImageRecipePolicyRequest$policy": "

The policy to apply.

", + "PutImageRecipePolicyResponse$requestId": "

The request ID that uniquely identifies this request.

", + "S3Logs$s3BucketName": "

The S3 bucket in which to store the logs.

", + "S3Logs$s3KeyPrefix": "

The S3 path in which to store the logs.

", + "Schedule$scheduleExpression": "

The expression determines how often a pipeline starts the creation of new images.

", + "SecurityGroupIds$member": null, + "StartImagePipelineExecutionResponse$requestId": "

The request ID that uniquely identifies this request.

", + "StringList$member": null, + "UpdateDistributionConfigurationRequest$description": "

The description of the distribution configuration.

", + "UpdateDistributionConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

", + "UpdateImagePipelineRequest$description": "

The description of the image pipeline.

", + "UpdateImagePipelineResponse$requestId": "

The request ID that uniquely identifies this request.

", + "UpdateInfrastructureConfigurationRequest$description": "

The description of the infrastructure configuration.

", + "UpdateInfrastructureConfigurationRequest$instanceProfileName": "

The instance profile to associate with the instance used to customize your EC2 AMI.

", + "UpdateInfrastructureConfigurationRequest$subnetId": "

The subnet ID to place the instance used to customize your EC2 AMI in.

", + "UpdateInfrastructureConfigurationRequest$keyPair": "

The key pair of the infrastructure configuration. This can be used to log onto and debug the instance used to create your image.

", + "UpdateInfrastructureConfigurationRequest$snsTopicArn": "

The SNS topic on which to send image build events.

", + "UpdateInfrastructureConfigurationResponse$requestId": "

The request ID that uniquely identifies this request.

" + } + }, + "NullableBoolean": { + "base": null, + "refs": { + "Component$encrypted": "

The encryption status of the component.

", + "CreateInfrastructureConfigurationRequest$terminateInstanceOnFailure": "

The terminate instance on failure setting of the infrastructure configuration. Set to false if you wish for Image Builder to retain the instance used to configure your AMI in the event that the build or test phase of your workflow failed.

", + "EbsInstanceBlockDeviceSpecification$encrypted": "

Use to configure device encryption.

", + "EbsInstanceBlockDeviceSpecification$deleteOnTermination": "

Use to configure delete on termination of the associated device.

", + "ImageTestsConfiguration$imageTestsEnabled": "

Defines if tests should be executed when building this image.

", + "InfrastructureConfiguration$terminateInstanceOnFailure": "

The terminate instance on failure configuration of the infrastruction configuration.

", + "UpdateInfrastructureConfigurationRequest$terminateInstanceOnFailure": "

The terminate instance on failure setting of the infrastructure configuration. Set to false if you wish for Image Builder to retain the instance used to configure your AMI in the event that the build or test phase of your workflow failed.

" + } + }, + "OutputResources": { + "base": "

The resources produced by this image.

", + "refs": { + "Image$outputResources": "

The output resources produced when creating this image.

", + "ImageSummary$outputResources": "

The output resources produced when creating this image.

" + } + }, + "Ownership": { + "base": null, + "refs": { + "ListComponentsRequest$owner": "

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

", + "ListImageRecipesRequest$owner": "

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

", + "ListImagesRequest$owner": "

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

" + } + }, + "PipelineExecutionStartCondition": { + "base": null, + "refs": { + "Schedule$pipelineExecutionStartCondition": "

The condition configures when the pipeline should trigger a new image build.

" + } + }, + "PipelineStatus": { + "base": null, + "refs": { + "CreateImagePipelineRequest$status": "

The status of the image pipeline.

", + "ImagePipeline$status": "

The status of the image pipeline.

", + "UpdateImagePipelineRequest$status": "

The status of the image pipeline.

" + } + }, + "Platform": { + "base": null, + "refs": { + "Component$platform": "

The platform of the component.

", + "ComponentSummary$platform": "

The platform of the component.

", + "ComponentVersion$platform": "

The platform of the component.

", + "CreateComponentRequest$platform": "

CThe platform of the component.

", + "Image$platform": "

The platform of the image.

", + "ImagePipeline$platform": "

The platform of the image pipeline.

", + "ImageRecipe$platform": "

The platform of the image recipe.

", + "ImageRecipeSummary$platform": "

The platform of the image recipe.

", + "ImageSummary$platform": "

The platform of the image.

", + "ImageVersion$platform": "

The platform of the image semantic version.

", + "ImportComponentRequest$platform": "

The platform of the component.

" + } + }, + "PutComponentPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutComponentPolicyResponse": { + "base": null, + "refs": { + } + }, + "PutImagePolicyRequest": { + "base": null, + "refs": { + } + }, + "PutImagePolicyResponse": { + "base": null, + "refs": { + } + }, + "PutImageRecipePolicyRequest": { + "base": null, + "refs": { + } + }, + "PutImageRecipePolicyResponse": { + "base": null, + "refs": { + } + }, + "ResourceAlreadyExistsException": { + "base": "

The resource that you are trying to create already exists.

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

You have attempted to mutate or delete a resource with a dependency that is prohibitting this action. See the error message for more details.

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

The resource that you are trying to operate on is currently in use. Review the message details, and retry later.

", + "refs": { + } + }, + "ResourceName": { + "base": null, + "refs": { + "Component$name": "

The name of the component.

", + "ComponentSummary$name": "

The name of the component.

", + "ComponentVersion$name": "

The name of the component.

", + "CreateComponentRequest$name": "

The name of the component.

", + "CreateDistributionConfigurationRequest$name": "

The name of the distribution configuration.

", + "CreateImagePipelineRequest$name": "

The name of the image pipeline.

", + "CreateImageRecipeRequest$name": "

The name of the image recipe.

", + "CreateInfrastructureConfigurationRequest$name": "

The name of the infrastructure configuration.

", + "DistributionConfiguration$name": "

The name of the distribution configuration.

", + "DistributionConfigurationSummary$name": "

The name of the distribution configuration.

", + "Image$name": "

The name of the image.

", + "Image$sourcePipelineName": "

The name of the image pipeline that created this image.

", + "ImagePipeline$name": "

The name of the image pipeline.

", + "ImageRecipe$name": "

The name of the image recipe.

", + "ImageRecipeSummary$name": "

The name of the image recipe.

", + "ImageSummary$name": "

The name of the image.

", + "ImageVersion$name": "

The name of the image semantic version.

", + "ImportComponentRequest$name": "

The name of the component.

", + "InfrastructureConfiguration$name": "

The name of the infrastruction configuration.

", + "InfrastructureConfigurationSummary$name": "

The name of the infrastructure configuration.

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

At least one of the resources referenced by your request does not exist.

", + "refs": { + } + }, + "RestrictedInteger": { + "base": null, + "refs": { + "ListComponentBuildVersionsRequest$maxResults": "

The maximum items to return in a request.

", + "ListComponentsRequest$maxResults": "

The maximum items to return in a request.

", + "ListDistributionConfigurationsRequest$maxResults": "

The maximum items to return in a request.

", + "ListImageBuildVersionsRequest$maxResults": "

The maximum items to return in a request.

", + "ListImagePipelineImagesRequest$maxResults": "

The maximum items to return in a request.

", + "ListImagePipelinesRequest$maxResults": "

The maximum items to return in a request.

", + "ListImageRecipesRequest$maxResults": "

The maximum items to return in a request.

", + "ListImagesRequest$maxResults": "

The maximum items to return in a request.

", + "ListInfrastructureConfigurationsRequest$maxResults": "

The maximum items to return in a request.

" + } + }, + "S3Logs": { + "base": "

S3 Logging configuration.

", + "refs": { + "Logging$s3Logs": "

The S3 logging configuration.

" + } + }, + "Schedule": { + "base": "

A schedule configures how often and when 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.

", + "UpdateImagePipelineRequest$schedule": "

The schedule of the image pipeline.

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

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

", + "InfrastructureConfiguration$securityGroupIds": "

The security group IDs of the infrastruction configuration.

", + "UpdateInfrastructureConfigurationRequest$securityGroupIds": "

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

" + } + }, + "ServiceException": { + "base": "

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

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

The service is unable to process your request at this time.

", + "refs": { + } + }, + "StartImagePipelineExecutionRequest": { + "base": null, + "refs": { + } + }, + "StartImagePipelineExecutionResponse": { + "base": null, + "refs": { + } + }, + "StringList": { + "base": null, + "refs": { + "LaunchPermissionConfiguration$userGroups": "

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

The tag keys to remove from the resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "AmiDistributionConfiguration$amiTags": "

The tags to apply to AMIs distributed to this region.

", + "Component$tags": "

The tags associated with the component.

", + "ComponentSummary$tags": "

The tags associated with the component.

", + "CreateComponentRequest$tags": "

CThe tags of the component.

", + "CreateDistributionConfigurationRequest$tags": "

The tags of the distribution configuration.

", + "CreateImagePipelineRequest$tags": "

The tags of the image pipeline.

", + "CreateImageRecipeRequest$tags": "

The tags of the image recipe.

", + "CreateImageRequest$tags": "

The tags of the image.

", + "CreateInfrastructureConfigurationRequest$tags": "

The tags of the infrastructure configuration.

", + "DistributionConfiguration$tags": "

The tags of the distribution configuration.

", + "DistributionConfigurationSummary$tags": "

The tags associated with the distribution configuration.

", + "Image$tags": "

The tags of the image.

", + "ImagePipeline$tags": "

The tags of this image pipeline.

", + "ImageRecipe$tags": "

The tags of the image recipe.

", + "ImageRecipeSummary$tags": "

The tags of the image recipe.

", + "ImageSummary$tags": "

The tags of the image.

", + "ImportComponentRequest$tags": "

The tags of the component.

", + "InfrastructureConfiguration$tags": "

The tags of the infrastruction configuration.

", + "InfrastructureConfigurationSummary$tags": "

The tags of the infrastructure configuration.

", + "ListTagsForResourceResponse$tags": "

The tags for the specified resource.

", + "TagResourceRequest$tags": "

The tags to apply to the resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateDistributionConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateDistributionConfigurationResponse": { + "base": null, + "refs": { + } + }, + "UpdateImagePipelineRequest": { + "base": null, + "refs": { + } + }, + "UpdateImagePipelineResponse": { + "base": null, + "refs": { + } + }, + "UpdateInfrastructureConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateInfrastructureConfigurationResponse": { + "base": null, + "refs": { + } + }, + "Uri": { + "base": null, + "refs": { + "CreateComponentRequest$uri": "

CThe uri of the component.

", + "ImportComponentRequest$uri": "

The uri of the component.

" + } + }, + "VersionNumber": { + "base": null, + "refs": { + "Component$version": "

The version of the component.

", + "ComponentSummary$version": "

The version of the component.

", + "ComponentVersion$version": "

The semantic version of the component.

", + "CreateComponentRequest$semanticVersion": "

The semantic version of the component. This version to follow the semantic version syntax. i.e. major.minor.patch. This could be versioned like software 2.0.1 or date like 2019.12.01.

", + "CreateImageRecipeRequest$semanticVersion": "

The semantic version of the image recipe.

", + "Image$version": "

The semantic version of the image.

", + "ImageRecipe$version": "

The version of the image recipe.

", + "ImageSummary$version": "

The version of the image.

", + "ImageVersion$version": "

The semantic version of the image semantic version.

", + "ImportComponentRequest$semanticVersion": "

The semantic version of the component. This version to follow the semantic version syntax. i.e. major.minor.patch. This could be versioned like software 2.0.1 or date like 2019.12.01.

" + } + } + } +} diff --git a/models/apis/imagebuilder/2019-12-02/examples-1.json b/models/apis/imagebuilder/2019-12-02/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/imagebuilder/2019-12-02/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/imagebuilder/2019-12-02/paginators-1.json b/models/apis/imagebuilder/2019-12-02/paginators-1.json new file mode 100644 index 00000000000..f1aa23df30c --- /dev/null +++ b/models/apis/imagebuilder/2019-12-02/paginators-1.json @@ -0,0 +1,49 @@ +{ + "pagination": { + "ListComponentBuildVersions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListComponents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListDistributionConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListImageBuildVersions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListImagePipelineImages": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListImagePipelines": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListImageRecipes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListImages": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListInfrastructureConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/license-manager/2018-08-01/api-2.json b/models/apis/license-manager/2018-08-01/api-2.json index 932e917f6dd..2c6e3e02f27 100644 --- a/models/apis/license-manager/2018-08-01/api-2.json +++ b/models/apis/license-manager/2018-08-01/api-2.json @@ -93,6 +93,22 @@ {"shape":"RateLimitExceededException"} ] }, + "ListFailuresForLicenseConfigurationOperations":{ + "name":"ListFailuresForLicenseConfigurationOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFailuresForLicenseConfigurationOperationsRequest"}, + "output":{"shape":"ListFailuresForLicenseConfigurationOperationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ] + }, "ListLicenseConfigurations":{ "name":"ListLicenseConfigurations", "http":{ @@ -275,6 +291,12 @@ }, "exception":true }, + "AutomatedDiscoveryInformation":{ + "type":"structure", + "members":{ + "LastRunTime":{"shape":"DateTime"} + } + }, "Boolean":{"type":"boolean"}, "BoxBoolean":{"type":"boolean"}, "BoxInteger":{"type":"integer"}, @@ -303,7 +325,8 @@ "LicenseCount":{"shape":"BoxLong"}, "LicenseCountHardLimit":{"shape":"BoxBoolean"}, "LicenseRules":{"shape":"StringList"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "ProductInformationList":{"shape":"ProductInformationList"} } }, "CreateLicenseConfigurationResponse":{ @@ -330,8 +353,7 @@ "members":{ "Message":{"shape":"Message"} }, - "exception":true, - "fault":true + "exception":true }, "Filter":{ "type":"structure", @@ -380,7 +402,9 @@ "OwnerAccountId":{"shape":"String"}, "ConsumedLicenseSummaryList":{"shape":"ConsumedLicenseSummaryList"}, "ManagedResourceSummaryList":{"shape":"ManagedResourceSummaryList"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "ProductInformationList":{"shape":"ProductInformationList"}, + "AutomatedDiscoveryInformation":{"shape":"AutomatedDiscoveryInformation"} } }, "GetServiceSettingsRequest":{ @@ -394,7 +418,8 @@ "S3BucketArn":{"shape":"String"}, "SnsTopicArn":{"shape":"String"}, "OrganizationConfiguration":{"shape":"OrganizationConfiguration"}, - "EnableCrossAccountsDiscovery":{"shape":"BoxBoolean"} + "EnableCrossAccountsDiscovery":{"shape":"BoxBoolean"}, + "LicenseManagerResourceShareArn":{"shape":"String"} } }, "InvalidParameterValueException":{ @@ -452,7 +477,9 @@ "Status":{"shape":"String"}, "OwnerAccountId":{"shape":"String"}, "ConsumedLicenseSummaryList":{"shape":"ConsumedLicenseSummaryList"}, - "ManagedResourceSummaryList":{"shape":"ManagedResourceSummaryList"} + "ManagedResourceSummaryList":{"shape":"ManagedResourceSummaryList"}, + "ProductInformationList":{"shape":"ProductInformationList"}, + "AutomatedDiscoveryInformation":{"shape":"AutomatedDiscoveryInformation"} } }, "LicenseConfigurationAssociation":{ @@ -503,6 +530,23 @@ "Socket" ] }, + "LicenseOperationFailure":{ + "type":"structure", + "members":{ + "ResourceArn":{"shape":"String"}, + "ResourceType":{"shape":"ResourceType"}, + "ErrorMessage":{"shape":"String"}, + "FailureTime":{"shape":"DateTime"}, + "OperationName":{"shape":"String"}, + "ResourceOwnerId":{"shape":"String"}, + "OperationRequestedBy":{"shape":"String"}, + "MetadataList":{"shape":"MetadataList"} + } + }, + "LicenseOperationFailureList":{ + "type":"list", + "member":{"shape":"LicenseOperationFailure"} + }, "LicenseSpecification":{ "type":"structure", "required":["LicenseConfigurationArn"], @@ -537,6 +581,22 @@ "NextToken":{"shape":"String"} } }, + "ListFailuresForLicenseConfigurationOperationsRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{"shape":"String"}, + "MaxResults":{"shape":"BoxInteger"}, + "NextToken":{"shape":"String"} + } + }, + "ListFailuresForLicenseConfigurationOperationsResponse":{ + "type":"structure", + "members":{ + "LicenseOperationFailureList":{"shape":"LicenseOperationFailureList"}, + "NextToken":{"shape":"String"} + } + }, "ListLicenseConfigurationsRequest":{ "type":"structure", "members":{ @@ -626,6 +686,17 @@ "member":{"shape":"ManagedResourceSummary"} }, "Message":{"type":"string"}, + "Metadata":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Value":{"shape":"String"} + } + }, + "MetadataList":{ + "type":"list", + "member":{"shape":"Metadata"} + }, "OrganizationConfiguration":{ "type":"structure", "required":["EnableIntegration"], @@ -633,6 +704,38 @@ "EnableIntegration":{"shape":"Boolean"} } }, + "ProductInformation":{ + "type":"structure", + "required":[ + "ResourceType", + "ProductInformationFilterList" + ], + "members":{ + "ResourceType":{"shape":"String"}, + "ProductInformationFilterList":{"shape":"ProductInformationFilterList"} + } + }, + "ProductInformationFilter":{ + "type":"structure", + "required":[ + "ProductInformationFilterName", + "ProductInformationFilterValue", + "ProductInformationFilterComparator" + ], + "members":{ + "ProductInformationFilterName":{"shape":"String"}, + "ProductInformationFilterValue":{"shape":"StringList"}, + "ProductInformationFilterComparator":{"shape":"String"} + } + }, + "ProductInformationFilterList":{ + "type":"list", + "member":{"shape":"ProductInformationFilter"} + }, + "ProductInformationList":{ + "type":"list", + "member":{"shape":"ProductInformation"} + }, "RateLimitExceededException":{ "type":"structure", "members":{ @@ -667,7 +770,9 @@ "enum":[ "EC2_INSTANCE", "EC2_HOST", - "EC2_AMI" + "EC2_AMI", + "RDS", + "SYSTEMS_MANAGER_MANAGED_INSTANCE" ] }, "ServerInternalException":{ @@ -740,7 +845,8 @@ "LicenseCount":{"shape":"BoxLong"}, "LicenseCountHardLimit":{"shape":"BoxBoolean"}, "Name":{"shape":"String"}, - "Description":{"shape":"String"} + "Description":{"shape":"String"}, + "ProductInformationList":{"shape":"ProductInformationList"} } }, "UpdateLicenseConfigurationResponse":{ diff --git a/models/apis/license-manager/2018-08-01/docs-2.json b/models/apis/license-manager/2018-08-01/docs-2.json index 117426d767d..afcf4e8e787 100644 --- a/models/apis/license-manager/2018-08-01/docs-2.json +++ b/models/apis/license-manager/2018-08-01/docs-2.json @@ -1,22 +1,23 @@ { "version": "2.0", - "service": " AWS License Manager

This is the AWS License Manager API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types for License Manager. The topic for each action shows the Query API request parameters and the XML response. You can also view the XML request elements in the WSDL.

Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

", + "service": " AWS License Manager

AWS License Manager makes it easier to manage licenses from software vendors across multiple AWS accounts and on-premises servers.

", "operations": { - "CreateLicenseConfiguration": "

Creates a new license configuration object. A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or VCPU), tenancy (shared tenancy, Amazon EC2 Dedicated Instance, Amazon EC2 Dedicated Host, or any of these), host affinity (how long a VM must be associated with a host), the number of licenses purchased and used.

", - "DeleteLicenseConfiguration": "

Deletes an existing license configuration. This action fails if the configuration is in use.

", - "GetLicenseConfiguration": "

Returns a detailed description of a license configuration.

", - "GetServiceSettings": "

Gets License Manager settings for a region. Exposes the configured S3 bucket, SNS topic, etc., for inspection.

", - "ListAssociationsForLicenseConfiguration": "

Lists the resource associations for a license configuration. Resource associations need not consume licenses from a license configuration. For example, an AMI or a stopped instance may not consume a license (depending on the license rules). Use this operation to find all resources associated with a license configuration.

", - "ListLicenseConfigurations": "

Lists license configuration objects for an account, each containing the name, description, license type, and other license terms modeled from a license agreement.

", - "ListLicenseSpecificationsForResource": "

Returns the license configuration for a resource.

", - "ListResourceInventory": "

Returns a detailed list of resources.

", - "ListTagsForResource": "

Lists tags attached to a resource.

", + "CreateLicenseConfiguration": "

Creates a license configuration.

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

", + "DeleteLicenseConfiguration": "

Deletes the specified license configuration.

You cannot delete a license configuration that is in use.

", + "GetLicenseConfiguration": "

Gets detailed information about the specified license configuration.

", + "GetServiceSettings": "

Gets the License Manager settings for the current Region.

", + "ListAssociationsForLicenseConfiguration": "

Lists the resource associations for the specified license configuration.

Resource associations need not consume licenses from a license configuration. For example, an AMI or a stopped instance might not consume a license (depending on the license rules).

", + "ListFailuresForLicenseConfigurationOperations": "

Lists the license configuration operations that failed.

", + "ListLicenseConfigurations": "

Lists the license configurations for your account.

", + "ListLicenseSpecificationsForResource": "

Describes the license configurations for the specified resource.

", + "ListResourceInventory": "

Lists resources managed using Systems Manager inventory.

", + "ListTagsForResource": "

Lists the tags for the specified license configuration.

", "ListUsageForLicenseConfiguration": "

Lists all license usage records for a license configuration, displaying license consumption details by resource at a selected point in time. Use this action to audit the current license consumption for any license inventory and configuration.

", - "TagResource": "

Attach one of more tags to any resource.

", - "UntagResource": "

Remove tags from a resource.

", - "UpdateLicenseConfiguration": "

Modifies the attributes of an existing license configuration object. A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (Instances, cores, sockets, VCPUs), tenancy (shared or Dedicated Host), host affinity (how long a VM is associated with a host), the number of licenses purchased and used.

", - "UpdateLicenseSpecificationsForResource": "

Adds or removes license configurations for a specified AWS resource. This operation currently supports updating the license specifications of AMIs, instances, and hosts. Launch templates and AWS CloudFormation templates are not managed from this operation as those resources send the license configurations directly to a resource creation operation, such as RunInstances.

", - "UpdateServiceSettings": "

Updates License Manager service settings.

" + "TagResource": "

Adds the specified tags to the specified license configuration.

", + "UntagResource": "

Removes the specified tags from the specified license configuration.

", + "UpdateLicenseConfiguration": "

Modifies the attributes of an existing license configuration.

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

", + "UpdateLicenseSpecificationsForResource": "

Adds or removes the specified license configurations for the specified AWS resource.

You can update the license specifications of AMIs, instances, and hosts. You cannot update the license specifications for launch templates and AWS CloudFormation templates, as they send license configurations to the operation that creates the resource.

", + "UpdateServiceSettings": "

Updates License Manager settings for the current Region.

" }, "shapes": { "AccessDeniedException": { @@ -29,43 +30,51 @@ "refs": { } }, + "AutomatedDiscoveryInformation": { + "base": "

Describes automated discovery.

", + "refs": { + "GetLicenseConfigurationResponse$AutomatedDiscoveryInformation": "

Automated discovery information.

", + "LicenseConfiguration$AutomatedDiscoveryInformation": "

Automated discovery information.

" + } + }, "Boolean": { "base": null, "refs": { - "OrganizationConfiguration$EnableIntegration": "

Flag to activate AWS Organization integration.

" + "OrganizationConfiguration$EnableIntegration": "

Enables AWS Organization integration.

" } }, "BoxBoolean": { "base": null, "refs": { - "CreateLicenseConfigurationRequest$LicenseCountHardLimit": "

Flag indicating whether hard or soft license enforcement is used. Exceeding a hard limit results in the blocked deployment of new instances.

", + "CreateLicenseConfigurationRequest$LicenseCountHardLimit": "

Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new instances.

", "GetLicenseConfigurationResponse$LicenseCountHardLimit": "

Sets the number of available licenses as a hard limit.

", "GetServiceSettingsResponse$EnableCrossAccountsDiscovery": "

Indicates whether cross-account discovery has been enabled.

", - "LicenseConfiguration$LicenseCountHardLimit": "

Sets the number of available licenses as a hard limit.

", - "UpdateLicenseConfigurationRequest$LicenseCountHardLimit": "

Sets the number of available licenses as a hard limit.

", + "LicenseConfiguration$LicenseCountHardLimit": "

Number of available licenses as a hard limit.

", + "UpdateLicenseConfigurationRequest$LicenseCountHardLimit": "

New hard limit of the number of available licenses.

", "UpdateServiceSettingsRequest$EnableCrossAccountsDiscovery": "

Activates cross-account discovery.

" } }, "BoxInteger": { "base": null, "refs": { - "ListAssociationsForLicenseConfigurationRequest$MaxResults": "

Maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "ListLicenseConfigurationsRequest$MaxResults": "

Maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "ListLicenseSpecificationsForResourceRequest$MaxResults": "

Maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "ListResourceInventoryRequest$MaxResults": "

Maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

", - "ListUsageForLicenseConfigurationRequest$MaxResults": "

Maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + "ListAssociationsForLicenseConfigurationRequest$MaxResults": "

Maximum number of results to return in a single call.

", + "ListFailuresForLicenseConfigurationOperationsRequest$MaxResults": "

Maximum number of results to return in a single call.

", + "ListLicenseConfigurationsRequest$MaxResults": "

Maximum number of results to return in a single call.

", + "ListLicenseSpecificationsForResourceRequest$MaxResults": "

Maximum number of results to return in a single call.

", + "ListResourceInventoryRequest$MaxResults": "

Maximum number of results to return in a single call.

", + "ListUsageForLicenseConfigurationRequest$MaxResults": "

Maximum number of results to return in a single call.

" } }, "BoxLong": { "base": null, "refs": { - "ConsumedLicenseSummary$ConsumedLicenses": "

Number of licenses consumed by a resource.

", + "ConsumedLicenseSummary$ConsumedLicenses": "

Number of licenses consumed by the resource.

", "CreateLicenseConfigurationRequest$LicenseCount": "

Number of licenses managed by the license configuration.

", "GetLicenseConfigurationResponse$LicenseCount": "

Number of available licenses.

", "GetLicenseConfigurationResponse$ConsumedLicenses": "

Number of licenses assigned to resources.

", "LicenseConfiguration$LicenseCount": "

Number of licenses managed by the license configuration.

", "LicenseConfiguration$ConsumedLicenses": "

Number of licenses consumed.

", - "LicenseConfigurationUsage$ConsumedLicenses": "

Number of licenses consumed out of the total provisioned in the license configuration.

", + "LicenseConfigurationUsage$ConsumedLicenses": "

Number of licenses consumed by the resource.

", "ManagedResourceSummary$AssociationCount": "

Number of resources associated with licenses.

", "UpdateLicenseConfigurationRequest$LicenseCount": "

New number of licenses managed by the license configuration.

" } @@ -79,8 +88,8 @@ "ConsumedLicenseSummaryList": { "base": null, "refs": { - "GetLicenseConfigurationResponse$ConsumedLicenseSummaryList": "

List of summaries for consumed licenses used by various resources.

", - "LicenseConfiguration$ConsumedLicenseSummaryList": "

List of summaries for licenses consumed by various resources.

" + "GetLicenseConfigurationResponse$ConsumedLicenseSummaryList": "

Summaries of the licenses consumed by resources.

", + "LicenseConfiguration$ConsumedLicenseSummaryList": "

Summaries for licenses consumed by various resources.

" } }, "CreateLicenseConfigurationRequest": { @@ -96,8 +105,10 @@ "DateTime": { "base": null, "refs": { + "AutomatedDiscoveryInformation$LastRunTime": "

Time that automated discovery last ran.

", "LicenseConfigurationAssociation$AssociationTime": "

Time when the license configuration was associated with the resource.

", - "LicenseConfigurationUsage$AssociationTime": "

Time when the license configuration was initially associated with a resource.

" + "LicenseConfigurationUsage$AssociationTime": "

Time when the license configuration was initially associated with the resource.

", + "LicenseOperationFailure$FailureTime": "

Failure time.

" } }, "DeleteLicenseConfigurationRequest": { @@ -116,7 +127,7 @@ } }, "Filter": { - "base": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a Describe operation are documented with the Describe operation.

", + "base": "

A filter name and value pair that is used to return more specific results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

", "refs": { "Filters$member": null } @@ -141,14 +152,14 @@ "FilterValues": { "base": null, "refs": { - "Filter$Values": "

One or more filter values. Filter values are case-sensitive.

" + "Filter$Values": "

Filter values. Filter values are case-sensitive.

" } }, "Filters": { "base": null, "refs": { - "ListLicenseConfigurationsRequest$Filters": "

One or more filters.

", - "ListUsageForLicenseConfigurationRequest$Filters": "

List of filters to apply.

" + "ListLicenseConfigurationsRequest$Filters": "

Filters to scope the results. The following filters and logical operators are supported:

", + "ListUsageForLicenseConfigurationRequest$Filters": "

Filters to scope the results. The following filters and logical operators are supported:

" } }, "GetLicenseConfigurationRequest": { @@ -182,7 +193,7 @@ } }, "InventoryFilter": { - "base": "

An inventory filter object.

", + "base": "

An inventory filter.

", "refs": { "InventoryFilterList$member": null } @@ -190,23 +201,23 @@ "InventoryFilterCondition": { "base": null, "refs": { - "InventoryFilter$Condition": "

The condition of the filter.

" + "InventoryFilter$Condition": "

Condition of the filter.

" } }, "InventoryFilterList": { "base": null, "refs": { - "ListResourceInventoryRequest$Filters": "

One or more filters.

" + "ListResourceInventoryRequest$Filters": "

Filters to scope the results. The following filters and logical operators are supported:

" } }, "LicenseConfiguration": { - "base": "

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or VCPU), tenancy (shared tenancy, Amazon EC2 Dedicated Instance, Amazon EC2 Dedicated Host, or any of these), host affinity (how long a VM must be associated with a host), the number of licenses purchased and used.

", + "base": "

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

", "refs": { "LicenseConfigurations$member": null } }, "LicenseConfigurationAssociation": { - "base": "

Describes a server resource that is associated with a license configuration.

", + "base": "

Describes an association with a license configuration.

", "refs": { "LicenseConfigurationAssociations$member": null } @@ -214,17 +225,17 @@ "LicenseConfigurationAssociations": { "base": null, "refs": { - "ListAssociationsForLicenseConfigurationResponse$LicenseConfigurationAssociations": "

Lists association objects for the license configuration, each containing the association time, number of consumed licenses, resource ARN, resource ID, account ID that owns the resource, resource size, and resource type.

" + "ListAssociationsForLicenseConfigurationResponse$LicenseConfigurationAssociations": "

Information about the associations for the license configuration.

" } }, "LicenseConfigurationStatus": { "base": null, "refs": { - "UpdateLicenseConfigurationRequest$LicenseConfigurationStatus": "

New status of the license configuration (ACTIVE or INACTIVE).

" + "UpdateLicenseConfigurationRequest$LicenseConfigurationStatus": "

New status of the license configuration.

" } }, "LicenseConfigurationUsage": { - "base": "

Contains details of the usage of each resource from the license pool.

", + "base": "

Details about the usage of a resource associated with a license configuration.

", "refs": { "LicenseConfigurationUsageList$member": null } @@ -232,25 +243,37 @@ "LicenseConfigurationUsageList": { "base": null, "refs": { - "ListUsageForLicenseConfigurationResponse$LicenseConfigurationUsageList": "

An array of LicenseConfigurationUsage objects.

" + "ListUsageForLicenseConfigurationResponse$LicenseConfigurationUsageList": "

Information about the license configurations.

" } }, "LicenseConfigurations": { "base": null, "refs": { - "ListLicenseConfigurationsResponse$LicenseConfigurations": "

Array of license configuration objects.

" + "ListLicenseConfigurationsResponse$LicenseConfigurations": "

Information about the license configurations.

" } }, "LicenseCountingType": { "base": null, "refs": { - "CreateLicenseConfigurationRequest$LicenseCountingType": "

Dimension to use to track the license inventory.

", - "GetLicenseConfigurationResponse$LicenseCountingType": "

Dimension on which the licenses are counted (for example, instances, cores, sockets, or VCPUs).

", - "LicenseConfiguration$LicenseCountingType": "

Dimension to use to track license inventory.

" + "CreateLicenseConfigurationRequest$LicenseCountingType": "

Dimension used to track the license inventory.

", + "GetLicenseConfigurationResponse$LicenseCountingType": "

Dimension on which the licenses are counted.

", + "LicenseConfiguration$LicenseCountingType": "

Dimension to use to track the license inventory.

" + } + }, + "LicenseOperationFailure": { + "base": "

Describes the failure of a license operation.

", + "refs": { + "LicenseOperationFailureList$member": null + } + }, + "LicenseOperationFailureList": { + "base": null, + "refs": { + "ListFailuresForLicenseConfigurationOperationsResponse$LicenseOperationFailureList": "

License configuration operations that failed.

" } }, "LicenseSpecification": { - "base": "

Object used for associating a license configuration with a resource.

", + "base": "

Details for associating a license configuration with a resource.

", "refs": { "LicenseSpecifications$member": null } @@ -259,8 +282,8 @@ "base": null, "refs": { "ListLicenseSpecificationsForResourceResponse$LicenseSpecifications": "

License configurations associated with a resource.

", - "UpdateLicenseSpecificationsForResourceRequest$AddLicenseSpecifications": "

License configuration ARNs to be added to a resource.

", - "UpdateLicenseSpecificationsForResourceRequest$RemoveLicenseSpecifications": "

License configuration ARNs to be removed from a resource.

" + "UpdateLicenseSpecificationsForResourceRequest$AddLicenseSpecifications": "

ARNs of the license configurations to add.

", + "UpdateLicenseSpecificationsForResourceRequest$RemoveLicenseSpecifications": "

ARNs of the license configurations to remove.

" } }, "LicenseUsageException": { @@ -278,6 +301,16 @@ "refs": { } }, + "ListFailuresForLicenseConfigurationOperationsRequest": { + "base": null, + "refs": { + } + }, + "ListFailuresForLicenseConfigurationOperationsResponse": { + "base": null, + "refs": { + } + }, "ListLicenseConfigurationsRequest": { "base": null, "refs": { @@ -329,7 +362,7 @@ } }, "ManagedResourceSummary": { - "base": "

Summary for a resource.

", + "base": "

Summary information about a managed resource.

", "refs": { "ManagedResourceSummaryList$member": null } @@ -337,8 +370,8 @@ "ManagedResourceSummaryList": { "base": null, "refs": { - "GetLicenseConfigurationResponse$ManagedResourceSummaryList": "

List of summaries of managed resources.

", - "LicenseConfiguration$ManagedResourceSummaryList": "

List of summaries for managed resources.

" + "GetLicenseConfigurationResponse$ManagedResourceSummaryList": "

Summaries of the managed resources.

", + "LicenseConfiguration$ManagedResourceSummaryList": "

Summaries for managed resources.

" } }, "Message": { @@ -356,11 +389,50 @@ "ServerInternalException$Message": null } }, + "Metadata": { + "base": "

Reserved.

", + "refs": { + "MetadataList$member": null + } + }, + "MetadataList": { + "base": null, + "refs": { + "LicenseOperationFailure$MetadataList": "

Reserved.

" + } + }, "OrganizationConfiguration": { - "base": "

Object containing configuration information for AWS Organizations.

", + "base": "

Configuration information for AWS Organizations.

", "refs": { "GetServiceSettingsResponse$OrganizationConfiguration": "

Indicates whether AWS Organizations has been integrated with License Manager for cross-account discovery.

", - "UpdateServiceSettingsRequest$OrganizationConfiguration": "

Integrates AWS Organizations with License Manager for cross-account discovery.

" + "UpdateServiceSettingsRequest$OrganizationConfiguration": "

Enables integration with AWS Organizations for cross-account discovery.

" + } + }, + "ProductInformation": { + "base": "

Describes product information for a license configuration.

", + "refs": { + "ProductInformationList$member": null + } + }, + "ProductInformationFilter": { + "base": "

Describes product information filters.

", + "refs": { + "ProductInformationFilterList$member": null + } + }, + "ProductInformationFilterList": { + "base": null, + "refs": { + "ProductInformation$ProductInformationFilterList": "

Product information filters. The following filters and logical operators are supported:

" + } + }, + "ProductInformationList": { + "base": null, + "refs": { + "CreateLicenseConfigurationRequest$ProductInformationList": "

Product information.

", + "GetLicenseConfigurationResponse$ProductInformationList": "

Product information.

", + "LicenseConfiguration$ProductInformationList": "

Product information.

", + "UpdateLicenseConfigurationRequest$ProductInformationList": "

New product information.

" } }, "RateLimitExceededException": { @@ -369,7 +441,7 @@ } }, "ResourceInventory": { - "base": "

A set of attributes that describe a resource.

", + "base": "

Details about a resource.

", "refs": { "ResourceInventoryList$member": null } @@ -377,7 +449,7 @@ "ResourceInventoryList": { "base": null, "refs": { - "ListResourceInventoryResponse$ResourceInventoryList": "

The detailed list of resources.

" + "ListResourceInventoryResponse$ResourceInventoryList": "

Information about the resources.

" } }, "ResourceLimitExceededException": { @@ -388,11 +460,12 @@ "ResourceType": { "base": null, "refs": { - "ConsumedLicenseSummary$ResourceType": "

Resource type of the resource consuming a license (instance, host, or AMI).

", + "ConsumedLicenseSummary$ResourceType": "

Resource type of the resource consuming a license.

", "LicenseConfigurationAssociation$ResourceType": "

Type of server resource.

", - "LicenseConfigurationUsage$ResourceType": "

Type of resource associated with athe license configuration.

", - "ManagedResourceSummary$ResourceType": "

Type of resource associated with a license (instance, host, or AMI).

", - "ResourceInventory$ResourceType": "

The type of resource.

" + "LicenseConfigurationUsage$ResourceType": "

Type of resource.

", + "LicenseOperationFailure$ResourceType": "

Resource type.

", + "ManagedResourceSummary$ResourceType": "

Type of resource associated with a license.

", + "ResourceInventory$ResourceType": "

Type of resource.

" } }, "ServerInternalException": { @@ -404,77 +477,92 @@ "base": null, "refs": { "CreateLicenseConfigurationRequest$Name": "

Name of the license configuration.

", - "CreateLicenseConfigurationRequest$Description": "

Human-friendly description of the license configuration.

", - "CreateLicenseConfigurationResponse$LicenseConfigurationArn": "

ARN of the license configuration object after its creation.

", - "DeleteLicenseConfigurationRequest$LicenseConfigurationArn": "

Unique ID of the configuration object to delete.

", - "GetLicenseConfigurationRequest$LicenseConfigurationArn": "

ARN of the license configuration being requested.

", + "CreateLicenseConfigurationRequest$Description": "

Description of the license configuration.

", + "CreateLicenseConfigurationResponse$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "DeleteLicenseConfigurationRequest$LicenseConfigurationArn": "

ID of the license configuration.

", + "GetLicenseConfigurationRequest$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", "GetLicenseConfigurationResponse$LicenseConfigurationId": "

Unique ID for the license configuration.

", - "GetLicenseConfigurationResponse$LicenseConfigurationArn": "

ARN of the license configuration requested.

", + "GetLicenseConfigurationResponse$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", "GetLicenseConfigurationResponse$Name": "

Name of the license configuration.

", "GetLicenseConfigurationResponse$Description": "

Description of the license configuration.

", - "GetLicenseConfigurationResponse$Status": "

License configuration status (active, etc.).

", - "GetLicenseConfigurationResponse$OwnerAccountId": "

Owner account ID for the license configuration.

", - "GetServiceSettingsResponse$S3BucketArn": "

Regional S3 bucket path for storing reports, license trail event data, discovery data, etc.

", + "GetLicenseConfigurationResponse$Status": "

License configuration status.

", + "GetLicenseConfigurationResponse$OwnerAccountId": "

Account ID of the owner of the license configuration.

", + "GetServiceSettingsResponse$S3BucketArn": "

Regional S3 bucket path for storing reports, license trail event data, discovery data, and so on.

", "GetServiceSettingsResponse$SnsTopicArn": "

SNS topic configured to receive notifications from License Manager.

", - "InventoryFilter$Name": "

The name of the filter.

", + "GetServiceSettingsResponse$LicenseManagerResourceShareArn": "

Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account will provide member accounts with access to this share.

", + "InventoryFilter$Name": "

Name of the filter.

", "InventoryFilter$Value": "

Value of the filter.

", - "LicenseConfiguration$LicenseConfigurationId": "

Unique ID of the LicenseConfiguration object.

", - "LicenseConfiguration$LicenseConfigurationArn": "

ARN of the LicenseConfiguration object.

", + "LicenseConfiguration$LicenseConfigurationId": "

Unique ID of the license configuration.

", + "LicenseConfiguration$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", "LicenseConfiguration$Name": "

Name of the license configuration.

", "LicenseConfiguration$Description": "

Description of the license configuration.

", "LicenseConfiguration$Status": "

Status of the license configuration.

", "LicenseConfiguration$OwnerAccountId": "

Account ID of the license configuration's owner.

", - "LicenseConfigurationAssociation$ResourceArn": "

ARN of the resource associated with the license configuration.

", + "LicenseConfigurationAssociation$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", "LicenseConfigurationAssociation$ResourceOwnerId": "

ID of the AWS account that owns the resource consuming licenses.

", - "LicenseConfigurationUsage$ResourceArn": "

ARN of the resource associated with a license configuration.

", - "LicenseConfigurationUsage$ResourceStatus": "

Status of a resource associated with the license configuration.

", - "LicenseConfigurationUsage$ResourceOwnerId": "

ID of the account that owns a resource that is associated with the license configuration.

", - "LicenseSpecification$LicenseConfigurationArn": "

ARN of the LicenseConfiguration object.

", - "ListAssociationsForLicenseConfigurationRequest$LicenseConfigurationArn": "

ARN of a LicenseConfiguration object.

", + "LicenseConfigurationUsage$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", + "LicenseConfigurationUsage$ResourceStatus": "

Status of the resource.

", + "LicenseConfigurationUsage$ResourceOwnerId": "

ID of the account that owns the resource.

", + "LicenseOperationFailure$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", + "LicenseOperationFailure$ErrorMessage": "

Error message.

", + "LicenseOperationFailure$OperationName": "

Name of the operation.

", + "LicenseOperationFailure$ResourceOwnerId": "

ID of the AWS account that owns the resource.

", + "LicenseOperationFailure$OperationRequestedBy": "

The requester is \"License Manager Automated Discovery\".

", + "LicenseSpecification$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "ListAssociationsForLicenseConfigurationRequest$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of a license configuration.

", "ListAssociationsForLicenseConfigurationRequest$NextToken": "

Token for the next set of results.

", "ListAssociationsForLicenseConfigurationResponse$NextToken": "

Token for the next set of results.

", + "ListFailuresForLicenseConfigurationOperationsRequest$LicenseConfigurationArn": "

Amazon Resource Name of the license configuration.

", + "ListFailuresForLicenseConfigurationOperationsRequest$NextToken": "

Token for the next set of results.

", + "ListFailuresForLicenseConfigurationOperationsResponse$NextToken": "

Token for the next set of results.

", "ListLicenseConfigurationsRequest$NextToken": "

Token for the next set of results.

", "ListLicenseConfigurationsResponse$NextToken": "

Token for the next set of results.

", - "ListLicenseSpecificationsForResourceRequest$ResourceArn": "

ARN of an AMI or Amazon EC2 instance that has an associated license configuration.

", + "ListLicenseSpecificationsForResourceRequest$ResourceArn": "

Amazon Resource Name (ARN) of a resource that has an associated license configuration.

", "ListLicenseSpecificationsForResourceRequest$NextToken": "

Token for the next set of results.

", "ListLicenseSpecificationsForResourceResponse$NextToken": "

Token for the next set of results.

", "ListResourceInventoryRequest$NextToken": "

Token for the next set of results.

", "ListResourceInventoryResponse$NextToken": "

Token for the next set of results.

", - "ListTagsForResourceRequest$ResourceArn": "

ARN for the resource.

", - "ListUsageForLicenseConfigurationRequest$LicenseConfigurationArn": "

ARN of the targeted LicenseConfiguration object.

", + "ListTagsForResourceRequest$ResourceArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "ListUsageForLicenseConfigurationRequest$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", "ListUsageForLicenseConfigurationRequest$NextToken": "

Token for the next set of results.

", "ListUsageForLicenseConfigurationResponse$NextToken": "

Token for the next set of results.

", - "ResourceInventory$ResourceId": "

Unique ID of the resource.

", - "ResourceInventory$ResourceArn": "

The ARN of the resource.

", - "ResourceInventory$Platform": "

The platform of the resource.

", + "Metadata$Name": "

Reserved.

", + "Metadata$Value": "

Reserved.

", + "ProductInformation$ResourceType": "

Resource type. The value is SSM_MANAGED.

", + "ProductInformationFilter$ProductInformationFilterName": "

Filter name.

", + "ProductInformationFilter$ProductInformationFilterComparator": "

Logical operator.

", + "ResourceInventory$ResourceId": "

ID of the resource.

", + "ResourceInventory$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", + "ResourceInventory$Platform": "

Platform of the resource.

", "ResourceInventory$PlatformVersion": "

Platform version of the resource in the inventory.

", - "ResourceInventory$ResourceOwningAccountId": "

Unique ID of the account that owns the resource.

", + "ResourceInventory$ResourceOwningAccountId": "

ID of the account that owns the resource.

", "StringList$member": null, - "Tag$Key": "

Key for the resource tag.

", - "Tag$Value": "

Value for the resource tag.

", + "Tag$Key": "

Tag key.

", + "Tag$Value": "

Tag value.

", "TagKeyList$member": null, - "TagResourceRequest$ResourceArn": "

Resource of the ARN to be tagged.

", - "UntagResourceRequest$ResourceArn": "

ARN of the resource.

", - "UpdateLicenseConfigurationRequest$LicenseConfigurationArn": "

ARN for a license configuration.

", + "TagResourceRequest$ResourceArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "UntagResourceRequest$ResourceArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "UpdateLicenseConfigurationRequest$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", "UpdateLicenseConfigurationRequest$Name": "

New name of the license configuration.

", - "UpdateLicenseConfigurationRequest$Description": "

New human-friendly description of the license configuration.

", - "UpdateLicenseSpecificationsForResourceRequest$ResourceArn": "

ARN for an AWS server resource.

", - "UpdateServiceSettingsRequest$S3BucketArn": "

ARN of the Amazon S3 bucket where License Manager information is stored.

", - "UpdateServiceSettingsRequest$SnsTopicArn": "

ARN of the Amazon SNS topic used for License Manager alerts.

" + "UpdateLicenseConfigurationRequest$Description": "

New description of the license configuration.

", + "UpdateLicenseSpecificationsForResourceRequest$ResourceArn": "

Amazon Resource Name (ARN) of the AWS resource.

", + "UpdateServiceSettingsRequest$S3BucketArn": "

Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.

", + "UpdateServiceSettingsRequest$SnsTopicArn": "

Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager alerts.

" } }, "StringList": { "base": null, "refs": { - "CreateLicenseConfigurationRequest$LicenseRules": "

Array of configured License Manager rules.

", - "GetLicenseConfigurationResponse$LicenseRules": "

List of flexible text strings designating license rules.

", - "LicenseConfiguration$LicenseRules": "

Array of configured License Manager rules.

", - "ListLicenseConfigurationsRequest$LicenseConfigurationArns": "

An array of ARNs for the calling account’s license configurations.

", - "UpdateLicenseConfigurationRequest$LicenseRules": "

List of flexible text strings designating license rules.

" + "CreateLicenseConfigurationRequest$LicenseRules": "

License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). Available rules vary by dimension.

", + "GetLicenseConfigurationResponse$LicenseRules": "

License rules.

", + "LicenseConfiguration$LicenseRules": "

License rules.

", + "ListLicenseConfigurationsRequest$LicenseConfigurationArns": "

Amazon Resource Names (ARN) of the license configurations.

", + "ProductInformationFilter$ProductInformationFilterValue": "

Filter value.

", + "UpdateLicenseConfigurationRequest$LicenseRules": "

New license rules.

" } }, "Tag": { - "base": "

Tag for a resource in a key-value format.

", + "base": "

Details about a tag for a license configuration.

", "refs": { "TagList$member": null } @@ -482,16 +570,16 @@ "TagKeyList": { "base": null, "refs": { - "UntagResourceRequest$TagKeys": "

List keys identifying tags to remove.

" + "UntagResourceRequest$TagKeys": "

Keys identifying the tags to remove.

" } }, "TagList": { "base": null, "refs": { - "CreateLicenseConfigurationRequest$Tags": "

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags .

", - "GetLicenseConfigurationResponse$Tags": "

List of tags attached to the license configuration.

", - "ListTagsForResourceResponse$Tags": "

List of tags attached to the resource.

", - "TagResourceRequest$Tags": "

Names of the tags to attach to the resource.

" + "CreateLicenseConfigurationRequest$Tags": "

Tags to add to the license configuration.

", + "GetLicenseConfigurationResponse$Tags": "

Tags for the license configuration.

", + "ListTagsForResourceResponse$Tags": "

Information about the tags.

", + "TagResourceRequest$Tags": "

One or more tags.

" } }, "TagResourceRequest": { diff --git a/models/apis/schemas/2019-12-02/api-2.json b/models/apis/schemas/2019-12-02/api-2.json new file mode 100644 index 00000000000..9c6285f00d7 --- /dev/null +++ b/models/apis/schemas/2019-12-02/api-2.json @@ -0,0 +1,2700 @@ +{ + "metadata": { + "apiVersion": "2019-12-02", + "endpointPrefix": "schemas", + "signingName": "schemas", + "serviceFullName": "Schemas", + "serviceId": "schemas", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "schemas-2019-12-02", + "signatureVersion": "v4" + }, + "operations": { + "CreateDiscoverer": { + "name": "CreateDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers", + "responseCode": 201 + }, + "input": { + "shape": "CreateDiscovererRequest" + }, + "output": { + "shape": "CreateDiscovererResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateRegistry": { + "name": "CreateRegistry", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 201 + }, + "input": { + "shape": "CreateRegistryRequest" + }, + "output": { + "shape": "CreateRegistryResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateSchema": { + "name": "CreateSchema", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 201 + }, + "input": { + "shape": "CreateSchemaRequest" + }, + "output": { + "shape": "CreateSchemaResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "DeleteDiscoverer": { + "name": "DeleteDiscoverer", + "http": { + "method": "DELETE", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteDiscovererRequest" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DeleteRegistry": { + "name": "DeleteRegistry", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteRegistryRequest" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DeleteSchema": { + "name": "DeleteSchema", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteSchemaRequest" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DeleteSchemaVersion": { + "name": "DeleteSchemaVersion", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteSchemaVersionRequest" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DescribeCodeBinding": { + "name": "DescribeCodeBinding", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeCodeBindingRequest" + }, + "output": { + "shape": "DescribeCodeBindingResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "DescribeDiscoverer": { + "name": "DescribeDiscoverer", + "http": { + "method": "GET", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeDiscovererRequest" + }, + "output": { + "shape": "DescribeDiscovererResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DescribeRegistry": { + "name": "DescribeRegistry", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeRegistryRequest" + }, + "output": { + "shape": "DescribeRegistryResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "DescribeSchema": { + "name": "DescribeSchema", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeSchemaRequest" + }, + "output": { + "shape": "DescribeSchemaResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "GetCodeBindingSource": { + "name": "GetCodeBindingSource", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source", + "responseCode": 200 + }, + "input": { + "shape": "GetCodeBindingSourceRequest" + }, + "output": { + "shape": "GetCodeBindingSourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "GetDiscoveredSchema": { + "name": "GetDiscoveredSchema", + "http": { + "method": "POST", + "requestUri": "/v1/discover", + "responseCode": 200 + }, + "input": { + "shape": "GetDiscoveredSchemaRequest" + }, + "output": { + "shape": "GetDiscoveredSchemaResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "ListDiscoverers": { + "name": "ListDiscoverers", + "http": { + "method": "GET", + "requestUri": "/v1/discoverers", + "responseCode": 200 + }, + "input": { + "shape": "ListDiscoverersRequest" + }, + "output": { + "shape": "ListDiscoverersResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "ListRegistries": { + "name": "ListRegistries", + "http": { + "method": "GET", + "requestUri": "/v1/registries", + "responseCode": 200 + }, + "input": { + "shape": "ListRegistriesRequest" + }, + "output": { + "shape": "ListRegistriesResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "ListSchemaVersions": { + "name": "ListSchemaVersions", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/versions", + "responseCode": 200 + }, + "input": { + "shape": "ListSchemaVersionsRequest" + }, + "output": { + "shape": "ListSchemaVersionsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "ListSchemas": { + "name": "ListSchemas", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas", + "responseCode": 200 + }, + "input": { + "shape": "ListSchemasRequest" + }, + "output": { + "shape": "ListSchemasResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "LockServiceLinkedRole": { + "name": "LockServiceLinkedRole", + "http": { + "method": "POST", + "requestUri": "/slr-deletion/lock", + "responseCode": 200 + }, + "input": { + "shape": "LockServiceLinkedRoleRequest" + }, + "output": { + "shape": "LockServiceLinkedRoleResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ], + "internal": true + }, + "PutCodeBinding": { + "name": "PutCodeBinding", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + "responseCode": 202 + }, + "input": { + "shape": "PutCodeBindingRequest" + }, + "output": { + "shape": "PutCodeBindingResponse" + }, + "errors": [ + { + "shape": "GoneException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "SearchSchemas": { + "name": "SearchSchemas", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/search", + "responseCode": 200 + }, + "input": { + "shape": "SearchSchemasRequest" + }, + "output": { + "shape": "SearchSchemasResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "StartDiscoverer": { + "name": "StartDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers/id/{discovererId}/start", + "responseCode": 200 + }, + "input": { + "shape": "StartDiscovererRequest" + }, + "output": { + "shape": "StartDiscovererResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "StopDiscoverer": { + "name": "StopDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers/id/{discovererId}/stop", + "responseCode": 200 + }, + "input": { + "shape": "StopDiscovererRequest" + }, + "output": { + "shape": "StopDiscovererResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "UnlockServiceLinkedRole": { + "name": "UnlockServiceLinkedRole", + "http": { + "method": "POST", + "requestUri": "/slr-deletion/unlock", + "responseCode": 200 + }, + "input": { + "shape": "UnlockServiceLinkedRoleRequest" + }, + "output": { + "shape": "UnlockServiceLinkedRoleResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ], + "internal": true + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "UpdateDiscoverer": { + "name": "UpdateDiscoverer", + "http": { + "method": "PUT", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateDiscovererRequest" + }, + "output": { + "shape": "UpdateDiscovererResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "UpdateRegistry": { + "name": "UpdateRegistry", + "http": { + "method": "PUT", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRegistryRequest" + }, + "output": { + "shape": "UpdateRegistryResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, + "UpdateSchema": { + "name": "UpdateSchema", + "http": { + "method": "PUT", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateSchemaRequest" + }, + "output": { + "shape": "UpdateSchemaResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + } + }, + "shapes": { + "BadRequestException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "CodeBindingOutput": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Status": { + "shape": "CodeGenerationStatus" + } + } + }, + "CodeGenerationStatus": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateDiscovererInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "SourceArn": { + "shape": "__stringMin20Max1600" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "SourceArn" + ] + }, + "CreateDiscovererRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "SourceArn": { + "shape": "__stringMin20Max1600" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "SourceArn" + ] + }, + "CreateDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "DiscovererArn": { + "shape": "__string" + }, + "DiscovererId": { + "shape": "__string" + }, + "SourceArn": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "CreateRegistryInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "CreateRegistryRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "RegistryName" + ] + }, + "CreateRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "RegistryArn": { + "shape": "__string" + }, + "RegistryName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "CreateSchemaInput": { + "type": "structure", + "members": { + "Content": { + "shape": "__stringMin1Max100000" + }, + "Description": { + "shape": "__stringMin0Max256" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "Type" + } + }, + "required": [ + "Type", + "Content" + ] + }, + "CreateSchemaRequest": { + "type": "structure", + "members": { + "Content": { + "shape": "__stringMin1Max100000" + }, + "Description": { + "shape": "__stringMin0Max256" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "Type" + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Type", + "Content" + ] + }, + "CreateSchemaResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string" + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601" + } + } + }, + "DeleteDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId" + } + }, + "required": [ + "DiscovererId" + ] + }, + "DeleteRegistryRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + } + }, + "required": [ + "RegistryName" + ] + }, + "DeleteSchemaRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "DeleteSchemaVersionRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "SchemaVersion": { + "shape": "__string", + "location": "uri", + "locationName": "schemaVersion" + } + }, + "required": [ + "SchemaVersion", + "RegistryName", + "SchemaName" + ] + }, + "DescribeCodeBindingRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion" + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "DescribeCodeBindingResponse": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Status": { + "shape": "CodeGenerationStatus" + } + } + }, + "DescribeDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId" + } + }, + "required": [ + "DiscovererId" + ] + }, + "DescribeDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "DiscovererArn": { + "shape": "__string" + }, + "DiscovererId": { + "shape": "__string" + }, + "SourceArn": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "DescribeRegistryRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + } + }, + "required": [ + "RegistryName" + ] + }, + "DescribeRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "RegistryArn": { + "shape": "__string" + }, + "RegistryName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "DescribeSchemaOutput": { + "type": "structure", + "members": { + "Content": { + "shape": "__string" + }, + "Description": { + "shape": "__string" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string" + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601" + } + } + }, + "DescribeSchemaRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion" + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "DescribeSchemaResponse": { + "type": "structure", + "members": { + "Content": { + "shape": "__string" + }, + "Description": { + "shape": "__string" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string" + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601" + } + } + }, + "DiscovererOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "DiscovererArn": { + "shape": "__string" + }, + "DiscovererId": { + "shape": "__string" + }, + "SourceArn": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "DiscovererState": { + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "DiscovererStateOutput": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + } + } + }, + "DiscovererSummary": { + "type": "structure", + "members": { + "DiscovererArn": { + "shape": "__string" + }, + "DiscovererId": { + "shape": "__string" + }, + "SourceArn": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "ErrorOutput": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "GetCodeBindingSourceOutput": { + "type": "string" + }, + "GetCodeBindingSourceRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion" + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "GetCodeBindingSourceResponse": { + "type": "structure", + "members": { + "Body": { + "shape": "Body" + } + }, + "payload": "Body" + }, + "GetDiscoveredSchemaInput": { + "type": "structure", + "members": { + "Events": { + "shape": "__listOfGetDiscoveredSchemaVersionItemInput" + }, + "Type": { + "shape": "Type" + } + }, + "required": [ + "Type", + "Events" + ] + }, + "GetDiscoveredSchemaOutput": { + "type": "structure", + "members": { + "Content": { + "shape": "__string" + } + } + }, + "GetDiscoveredSchemaRequest": { + "type": "structure", + "members": { + "Events": { + "shape": "__listOfGetDiscoveredSchemaVersionItemInput" + }, + "Type": { + "shape": "Type" + } + }, + "required": [ + "Type", + "Events" + ] + }, + "GetDiscoveredSchemaResponse": { + "type": "structure", + "members": { + "Content": { + "shape": "__string" + } + } + }, + "GetDiscoveredSchemaVersionItemInput": { + "type": "string", + "min": 1, + "max": 100000 + }, + "GoneException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 410 + } + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "Limit": { + "type": "integer", + "min": 1, + "max": 100 + }, + "ListDiscoverersOutput": { + "type": "structure", + "members": { + "Discoverers": { + "shape": "__listOfDiscovererSummary" + }, + "NextToken": { + "shape": "__string" + } + } + }, + "ListDiscoverersRequest": { + "type": "structure", + "members": { + "DiscovererIdPrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "discovererIdPrefix" + }, + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "SourceArnPrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "sourceArnPrefix" + } + } + }, + "ListDiscoverersResponse": { + "type": "structure", + "members": { + "Discoverers": { + "shape": "__listOfDiscovererSummary" + }, + "NextToken": { + "shape": "__string" + } + } + }, + "ListRegistriesOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Registries": { + "shape": "__listOfRegistrySummary" + } + } + }, + "ListRegistriesRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "RegistryNamePrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "registryNamePrefix" + }, + "Scope": { + "shape": "__string", + "location": "querystring", + "locationName": "scope" + } + } + }, + "ListRegistriesResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Registries": { + "shape": "__listOfRegistrySummary" + } + } + }, + "ListSchemaVersionsOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "SchemaVersions": { + "shape": "__listOfSchemaVersionSummary" + } + } + }, + "ListSchemaVersionsRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "ListSchemaVersionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "SchemaVersions": { + "shape": "__listOfSchemaVersionSummary" + } + } + }, + "ListSchemasOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Schemas": { + "shape": "__listOfSchemaSummary" + } + } + }, + "ListSchemasRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaNamePrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaNamePrefix" + } + }, + "required": [ + "RegistryName" + ] + }, + "ListSchemasResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Schemas": { + "shape": "__listOfSchemaSummary" + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags" + } + }, + "required": [ + "Tags" + ] + }, + "LockServiceLinkedRoleInput": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + }, + "Timeout": { + "shape": "__integerMin1Max29000" + } + }, + "required": [ + "Timeout", + "RoleArn" + ] + }, + "LockServiceLinkedRoleOutput": { + "type": "structure", + "members": { + "CanBeDeleted": { + "shape": "__boolean" + }, + "ReasonOfFailure": { + "shape": "__stringMin1Max1600" + }, + "RelatedResources": { + "shape": "__listOfDiscovererSummary" + } + } + }, + "LockServiceLinkedRoleRequest": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + }, + "Timeout": { + "shape": "__integerMin1Max29000" + } + }, + "required": [ + "Timeout", + "RoleArn" + ] + }, + "LockServiceLinkedRoleResponse": { + "type": "structure", + "members": { + "CanBeDeleted": { + "shape": "__boolean" + }, + "ReasonOfFailure": { + "shape": "__stringMin1Max1600" + }, + "RelatedResources": { + "shape": "__listOfDiscovererSummary" + } + } + }, + "NotFoundException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "PutCodeBindingRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion" + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "PutCodeBindingResponse": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Status": { + "shape": "CodeGenerationStatus" + } + } + }, + "RegistryOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "RegistryArn": { + "shape": "__string" + }, + "RegistryName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "RegistrySummary": { + "type": "structure", + "members": { + "RegistryArn": { + "shape": "__string" + }, + "RegistryName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "SchemaOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string" + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601" + } + } + }, + "SchemaSummary": { + "type": "structure", + "members": { + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "VersionCount": { + "shape": "__long" + } + } + }, + "SchemaVersionSummary": { + "type": "structure", + "members": { + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + } + } + }, + "SearchSchemaSummary": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersions": { + "shape": "__listOfSearchSchemaVersionSummary" + } + } + }, + "SearchSchemaVersionSummary": { + "type": "structure", + "members": { + "CreatedDate": { + "shape": "__timestampIso8601" + }, + "SchemaVersion": { + "shape": "__string" + } + } + }, + "SearchSchemasOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Schemas": { + "shape": "__listOfSearchSchemaSummary" + } + } + }, + "SearchSchemasRequest": { + "type": "structure", + "members": { + "Keywords": { + "shape": "__string", + "location": "querystring", + "locationName": "keywords" + }, + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + } + }, + "required": [ + "RegistryName", + "Keywords" + ] + }, + "SearchSchemasResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string" + }, + "Schemas": { + "shape": "__listOfSearchSchemaSummary" + } + } + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 503 + } + }, + "StartDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId" + } + }, + "required": [ + "DiscovererId" + ] + }, + "StartDiscovererResponse": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + } + } + }, + "StopDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId" + } + }, + "required": [ + "DiscovererId" + ] + }, + "StopDiscovererResponse": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + } + } + }, + "TagResourceInput": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "Tags" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ResourceArn", + "Tags" + ] + }, + "Tags": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "Type": { + "type": "string", + "enum": [ + "OpenApi3" + ] + }, + "UnauthorizedException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string" + }, + "Message": { + "shape": "__string" + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 401 + } + }, + "UnlockServiceLinkedRoleInput": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + } + }, + "required": [ + "RoleArn" + ] + }, + "UnlockServiceLinkedRoleRequest": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + } + }, + "required": [ + "RoleArn" + ] + }, + "UnlockServiceLinkedRoleResponse": { + "type": "structure", + "members": {} + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateDiscovererInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + } + } + }, + "UpdateDiscovererRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId" + } + }, + "required": [ + "DiscovererId" + ] + }, + "UpdateDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "DiscovererArn": { + "shape": "__string" + }, + "DiscovererId": { + "shape": "__string" + }, + "SourceArn": { + "shape": "__string" + }, + "State": { + "shape": "DiscovererState" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "UpdateRegistryInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + } + } + }, + "UpdateRegistryRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + } + }, + "required": [ + "RegistryName" + ] + }, + "UpdateRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "RegistryArn": { + "shape": "__string" + }, + "RegistryName": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "UpdateSchemaInput": { + "type": "structure", + "members": { + "ClientTokenId": { + "shape": "__stringMin0Max36", + "idempotencyToken": true + }, + "Content": { + "shape": "__stringMin1Max100000" + }, + "Description": { + "shape": "__stringMin0Max256" + }, + "Type": { + "shape": "Type" + } + } + }, + "UpdateSchemaRequest": { + "type": "structure", + "members": { + "ClientTokenId": { + "shape": "__stringMin0Max36", + "idempotencyToken": true + }, + "Content": { + "shape": "__stringMin1Max100000" + }, + "Description": { + "shape": "__stringMin0Max256" + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName" + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName" + }, + "Type": { + "shape": "Type" + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "UpdateSchemaResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string" + }, + "LastModified": { + "shape": "__timestampIso8601" + }, + "SchemaArn": { + "shape": "__string" + }, + "SchemaName": { + "shape": "__string" + }, + "SchemaVersion": { + "shape": "__string" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string" + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601" + } + } + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin1Max29000": { + "type": "integer", + "min": 1, + "max": 29000 + }, + "__listOfDiscovererSummary": { + "type": "list", + "member": { + "shape": "DiscovererSummary" + } + }, + "__listOfGetDiscoveredSchemaVersionItemInput": { + "type": "list", + "min": 1, + "max": 10, + "member": { + "shape": "GetDiscoveredSchemaVersionItemInput" + } + }, + "__listOfRegistrySummary": { + "type": "list", + "member": { + "shape": "RegistrySummary" + } + }, + "__listOfSchemaSummary": { + "type": "list", + "member": { + "shape": "SchemaSummary" + } + }, + "__listOfSchemaVersionSummary": { + "type": "list", + "member": { + "shape": "SchemaVersionSummary" + } + }, + "__listOfSearchSchemaSummary": { + "type": "list", + "member": { + "shape": "SearchSchemaSummary" + } + }, + "__listOfSearchSchemaVersionSummary": { + "type": "list", + "member": { + "shape": "SearchSchemaVersionSummary" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + }, + "__stringMin0Max256": { + "type": "string", + "min": 0, + "max": 256 + }, + "__stringMin0Max36": { + "type": "string", + "min": 0, + "max": 36 + }, + "__stringMin1Max100000": { + "type": "string", + "min": 1, + "max": 100000 + }, + "__stringMin1Max1600": { + "type": "string", + "min": 1, + "max": 1600 + }, + "__stringMin20Max1600": { + "type": "string", + "min": 20, + "max": 1600 + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + }, + "Body": { + "type": "blob" + } + } +} diff --git a/models/apis/schemas/2019-12-02/docs-2.json b/models/apis/schemas/2019-12-02/docs-2.json new file mode 100644 index 00000000000..f7d3fe4c6b5 --- /dev/null +++ b/models/apis/schemas/2019-12-02/docs-2.json @@ -0,0 +1,413 @@ +{ + "version" : "2.0", + "service" : "

AWS EventBridge Schemas

", + "operations" : { + "CreateDiscoverer" : "

Creates a discoverer.

", + "CreateRegistry" : "

Creates a registry.

", + "CreateSchema" : "

Creates a schema definition.

", + "DeleteDiscoverer" : "

Deletes a discoverer.

", + "DeleteRegistry" : "

Deletes a Registry.

", + "DeleteSchema" : "

Delete a schema definition.

", + "DeleteSchemaVersion" : "

Delete the schema version definition

", + "DescribeCodeBinding" : "

Describe the code binding URI.

", + "DescribeDiscoverer" : "

Describes the discoverer.

", + "DescribeRegistry" : "

Describes the registry.

", + "DescribeSchema" : "

Retrieve the schema definition.

", + "GetCodeBindingSource" : "

Get the code binding source URI.

", + "GetDiscoveredSchema" : "

Get the discovered schema that was generated based on sampled events.

", + "ListDiscoverers" : "

List the discoverers.

", + "ListRegistries" : "

List the registries.

", + "ListSchemaVersions" : "

Provides a list of the schema versions and related information.

", + "ListSchemas" : "

List the schemas.

", + "ListTagsForResource" : "

Get tags for resource.

", + "LockServiceLinkedRole" : null, + "PutCodeBinding" : "

Put code binding URI

", + "SearchSchemas" : "

Search the schemas

", + "StartDiscoverer" : "

Starts the discoverer

", + "StopDiscoverer" : "

Stops the discoverer

", + "TagResource" : "

Add tags to a resource.

", + "UnlockServiceLinkedRole" : null, + "UntagResource" : "

Removes tags from a resource.

", + "UpdateDiscoverer" : "

Updates the discoverer

", + "UpdateRegistry" : "

Updates a registry.

", + "UpdateSchema" : "

Updates the schema definition

" + }, + "shapes" : { + "BadRequestException" : { + "base" : null, + "refs" : { } + }, + "CodeBindingOutput" : { + "base" : null, + "refs" : { } + }, + "CodeGenerationStatus" : { + "base" : null, + "refs" : { + "CodeBindingOutput$Status" : "

The current status of code binding generation.

" + } + }, + "ConflictException" : { + "base" : null, + "refs" : { } + }, + "CreateDiscovererInput" : { + "base" : null, + "refs" : { } + }, + "CreateRegistryInput" : { + "base" : null, + "refs" : { } + }, + "CreateSchemaInput" : { + "base" : null, + "refs" : { } + }, + "DescribeSchemaOutput" : { + "base" : null, + "refs" : { } + }, + "DiscovererOutput" : { + "base" : null, + "refs" : { } + }, + "DiscovererState" : { + "base" : null, + "refs" : { + "DiscovererOutput$State" : "

The state of the discoverer.

", + "DiscovererStateOutput$State" : "

The state of the discoverer.

", + "DiscovererSummary$State" : null + } + }, + "DiscovererStateOutput" : { + "base" : null, + "refs" : { } + }, + "DiscovererSummary" : { + "base" : null, + "refs" : { + "__listOfDiscovererSummary$member" : null + } + }, + "ErrorOutput" : { + "base" : null, + "refs" : { } + }, + "ForbiddenException" : { + "base" : null, + "refs" : { } + }, + "GetCodeBindingSourceOutput" : { + "base" : null, + "refs" : { } + }, + "GetDiscoveredSchemaInput" : { + "base" : null, + "refs" : { } + }, + "GetDiscoveredSchemaOutput" : { + "base" : null, + "refs" : { } + }, + "GetDiscoveredSchemaVersionItemInput" : { + "base" : null, + "refs" : { + "__listOfGetDiscoveredSchemaVersionItemInput$member" : null + } + }, + "GoneException" : { + "base" : null, + "refs" : { } + }, + "InternalServerErrorException" : { + "base" : null, + "refs" : { } + }, + "ListDiscoverersOutput" : { + "base" : null, + "refs" : { } + }, + "ListRegistriesOutput" : { + "base" : "

List the registries.

", + "refs" : { } + }, + "ListSchemaVersionsOutput" : { + "base" : null, + "refs" : { } + }, + "ListSchemasOutput" : { + "base" : null, + "refs" : { } + }, + "LockServiceLinkedRoleInput" : { + "base" : null, + "refs" : { } + }, + "LockServiceLinkedRoleOutput" : { + "base" : null, + "refs" : { } + }, + "NotFoundException" : { + "base" : null, + "refs" : { } + }, + "RegistryOutput" : { + "base" : null, + "refs" : { } + }, + "RegistrySummary" : { + "base" : null, + "refs" : { + "__listOfRegistrySummary$member" : null + } + }, + "SchemaOutput" : { + "base" : null, + "refs" : { } + }, + "SchemaSummary" : { + "base" : "

A summary of schema details.

", + "refs" : { + "__listOfSchemaSummary$member" : null + } + }, + "SchemaVersionSummary" : { + "base" : null, + "refs" : { + "__listOfSchemaVersionSummary$member" : null + } + }, + "SearchSchemaSummary" : { + "base" : null, + "refs" : { + "__listOfSearchSchemaSummary$member" : null + } + }, + "SearchSchemaVersionSummary" : { + "base" : null, + "refs" : { + "__listOfSearchSchemaVersionSummary$member" : null + } + }, + "SearchSchemasOutput" : { + "base" : null, + "refs" : { } + }, + "ServiceUnavailableException" : { + "base" : null, + "refs" : { } + }, + "TagResourceInput" : { + "base" : null, + "refs" : { } + }, + "Tags" : { + "base" : "

Key-value pairs associated with a resource.

", + "refs" : { + "CreateDiscovererInput$Tags" : "

Tags associated with the resource.

", + "CreateRegistryInput$Tags" : "

Tags to associate with the registry.

", + "CreateSchemaInput$Tags" : "

Tags associated with the schema.

", + "DescribeSchemaOutput$Tags" : "

Tags associated with the resource.

", + "DiscovererOutput$Tags" : "

Tags associated with the resource.

", + "DiscovererSummary$Tags" : "

Tags associated with the resource.

", + "RegistryOutput$Tags" : "

Tags associated with the registry.

", + "RegistrySummary$Tags" : "

Tags associated with the registry.

", + "SchemaOutput$Tags" : null, + "SchemaSummary$Tags" : "

Tags associated with the schema.

", + "TagResourceInput$Tags" : null + } + }, + "TooManyRequestsException" : { + "base" : null, + "refs" : { } + }, + "Type" : { + "base" : null, + "refs" : { + "CreateSchemaInput$Type" : null, + "GetDiscoveredSchemaInput$Type" : "

The type of event.

", + "UpdateSchemaInput$Type" : "

The schema type for the events schema.

" + } + }, + "UnauthorizedException" : { + "base" : null, + "refs" : { } + }, + "UnlockServiceLinkedRoleInput" : { + "base" : null, + "refs" : { } + }, + "UpdateDiscovererInput" : { + "base" : null, + "refs" : { } + }, + "UpdateRegistryInput" : { + "base" : null, + "refs" : { } + }, + "UpdateSchemaInput" : { + "base" : null, + "refs" : { } + }, + "__boolean" : { + "base" : null, + "refs" : { + "LockServiceLinkedRoleOutput$CanBeDeleted" : null + } + }, + "__integerMin1Max29000" : { + "base" : null, + "refs" : { + "LockServiceLinkedRoleInput$Timeout" : null + } + }, + "__listOfDiscovererSummary" : { + "base" : null, + "refs" : { + "ListDiscoverersOutput$Discoverers" : "

An array of DiscovererSummary information.

", + "LockServiceLinkedRoleOutput$RelatedResources" : null + } + }, + "__listOfGetDiscoveredSchemaVersionItemInput" : { + "base" : null, + "refs" : { + "GetDiscoveredSchemaInput$Events" : "

An array of strings that

" + } + }, + "__listOfRegistrySummary" : { + "base" : null, + "refs" : { + "ListRegistriesOutput$Registries" : "

An array of registry summaries.

" + } + }, + "__listOfSchemaSummary" : { + "base" : null, + "refs" : { + "ListSchemasOutput$Schemas" : "

An array of schema summaries.

" + } + }, + "__listOfSchemaVersionSummary" : { + "base" : null, + "refs" : { + "ListSchemaVersionsOutput$SchemaVersions" : "

An array of schema version summaries.

" + } + }, + "__listOfSearchSchemaSummary" : { + "base" : null, + "refs" : { + "SearchSchemasOutput$Schemas" : "

An array of SearchSchemaSummary information.

" + } + }, + "__listOfSearchSchemaVersionSummary" : { + "base" : null, + "refs" : { + "SearchSchemaSummary$SchemaVersions" : "

An array of schema version summaries.

" + } + }, + "__long" : { + "base" : null, + "refs" : { + "SchemaSummary$VersionCount" : "

The number of versions available for the schema.

" + } + }, + "__string" : { + "base" : null, + "refs" : { + "CodeBindingOutput$SchemaVersion" : "

The version number of the schema.

", + "DescribeSchemaOutput$Content" : null, + "DescribeSchemaOutput$Description" : "

The description of the schema.

", + "DescribeSchemaOutput$SchemaArn" : "

The ARN of the schema.

", + "DescribeSchemaOutput$SchemaName" : "

The name of the schema.

", + "DescribeSchemaOutput$SchemaVersion" : "

The version number of the schema

", + "DescribeSchemaOutput$Type" : "

The type of the schema.

", + "DiscovererOutput$Description" : "

The description of the discoverer.

", + "DiscovererOutput$DiscovererArn" : "

The ARN of the discoverer.

", + "DiscovererOutput$DiscovererId" : "

The ID of the discoverer.

", + "DiscovererOutput$SourceArn" : "

The ARN of the event bus.

", + "DiscovererStateOutput$DiscovererId" : "

The ID of the discoverer.

", + "DiscovererSummary$DiscovererArn" : "

The ARN of the discoverer.

", + "DiscovererSummary$DiscovererId" : "

The ID of the discoverer.

", + "DiscovererSummary$SourceArn" : "

The ARN of the event bus.

", + "ErrorOutput$Code" : "

The error code.

", + "ErrorOutput$Message" : "

The message string of the error output.

", + "GetDiscoveredSchemaOutput$Content" : null, + "ListDiscoverersOutput$NextToken" : "

The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

", + "ListRegistriesOutput$NextToken" : "

The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

", + "ListSchemaVersionsOutput$NextToken" : "

The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

", + "ListSchemasOutput$NextToken" : "

The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

", + "RegistryOutput$Description" : "

The description of the registry.

", + "RegistryOutput$RegistryArn" : "

The ARN of the registry.

", + "RegistryOutput$RegistryName" : "

The name of the registry.

", + "RegistrySummary$RegistryArn" : "

The ARN of the registry.

", + "RegistrySummary$RegistryName" : "

The name of the registry.

", + "SchemaOutput$Description" : "

The description of the schema.

", + "SchemaOutput$SchemaArn" : "

The ARN of the schema.

", + "SchemaOutput$SchemaName" : "

The name of the schema.

", + "SchemaOutput$SchemaVersion" : "

The version number of the schema

", + "SchemaOutput$Type" : "

The type of the schema.

", + "SchemaSummary$SchemaArn" : "

The ARN of the schema.

", + "SchemaSummary$SchemaName" : "

The name of the schema.

", + "SchemaVersionSummary$SchemaArn" : "

The ARN of the schema version.

", + "SchemaVersionSummary$SchemaName" : "

The name of the schema.

", + "SchemaVersionSummary$SchemaVersion" : "

The version number of the schema.

", + "SearchSchemaSummary$RegistryName" : "

The name of the registry.

", + "SearchSchemaSummary$SchemaArn" : "

The ARN of the schema.

", + "SearchSchemaSummary$SchemaName" : "

The name of the schema.

", + "SearchSchemaVersionSummary$SchemaVersion" : "

The version number of the schema

", + "SearchSchemasOutput$NextToken" : "

The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

", + "Tags$member" : null + } + }, + "__stringMin0Max256" : { + "base" : null, + "refs" : { + "CreateDiscovererInput$Description" : "

A description for the discoverer.

", + "CreateRegistryInput$Description" : "

A description of the registry to be created.

", + "CreateSchemaInput$Description" : "

A description of the schema.

", + "UpdateDiscovererInput$Description" : "

The description of the discoverer to update.

", + "UpdateRegistryInput$Description" : "

The description of the registry to update.

", + "UpdateSchemaInput$Description" : "

The description of the schema.

" + } + }, + "__stringMin0Max36" : { + "base" : null, + "refs" : { + "UpdateSchemaInput$ClientTokenId" : "

The ID of the client token.

" + } + }, + "__stringMin1Max100000" : { + "base" : null, + "refs" : { + "CreateSchemaInput$Content" : null, + "UpdateSchemaInput$Content" : "

The source of the schema definition.

" + } + }, + "__stringMin1Max1600" : { + "base" : null, + "refs" : { + "LockServiceLinkedRoleInput$RoleArn" : null, + "LockServiceLinkedRoleOutput$ReasonOfFailure" : null, + "UnlockServiceLinkedRoleInput$RoleArn" : null + } + }, + "__stringMin20Max1600" : { + "base" : null, + "refs" : { + "CreateDiscovererInput$SourceArn" : "

The ARN of the event bus.

" + } + }, + "__timestampIso8601" : { + "base" : null, + "refs" : { + "CodeBindingOutput$CreationDate" : "

The time and date that the code binding was created.

", + "CodeBindingOutput$LastModified" : "

The date and time that code bindings were modified.

", + "DescribeSchemaOutput$LastModified" : "

The date and time that schema was modified.

", + "DescribeSchemaOutput$VersionCreatedDate" : "

The date the schema version was created.

", + "SchemaOutput$LastModified" : "

The date and time that schema was modified.

", + "SchemaOutput$VersionCreatedDate" : "

The date the schema version was created.

", + "SchemaSummary$LastModified" : "

The date and time that schema was modified.

", + "SearchSchemaVersionSummary$CreatedDate" : null + } + } + } +} \ No newline at end of file diff --git a/models/apis/schemas/2019-12-02/paginators-1.json b/models/apis/schemas/2019-12-02/paginators-1.json new file mode 100644 index 00000000000..ef2fe19d195 --- /dev/null +++ b/models/apis/schemas/2019-12-02/paginators-1.json @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListDiscoverers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Discoverers" + }, + "ListRegistries": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Registries" + }, + "ListSchemaVersions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "SchemaVersions" + }, + "ListSchemas": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Schemas" + }, + "SearchSchemas": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Schemas" + } + } +} diff --git a/models/apis/schemas/2019-12-02/waiters-2.json b/models/apis/schemas/2019-12-02/waiters-2.json new file mode 100644 index 00000000000..4f642f615c4 --- /dev/null +++ b/models/apis/schemas/2019-12-02/waiters-2.json @@ -0,0 +1,36 @@ +{ + "version": 2, + "waiters": { + "CodeBindingExists": { + "description": "Wait until code binding is generated", + "delay": 2, + "operation": "DescribeCodeBinding", + "maxAttempts": 30, + "acceptors": [ + { + "expected": "CREATE_COMPLETE", + "matcher": "path", + "state": "success", + "argument": "Status" + }, + { + "expected": "CREATE_IN_PROGRESS", + "matcher": "path", + "state": "retry", + "argument": "Status" + }, + { + "expected": "CREATE_FAILED", + "matcher": "path", + "state": "failure", + "argument": "Status" + }, + { + "matcher": "error", + "expected": "NotFoundException", + "state": "failure" + } + ] + } + } +} diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 516ed7af492..31cef14c08f 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1932,6 +1932,26 @@ } } }, + "iotsecuredtunneling" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "iotthingsgraph" : { "defaults" : { "credentialScope" : { @@ -2562,8 +2582,30 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "pinpoint-fips.us-east-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "pinpoint-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "pinpoint.us-east-1.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "pinpoint.us-west-2.amazonaws.com" + } } }, "polly" : { diff --git a/service/ec2/api.go b/service/ec2/api.go index e845d297a55..016a94374c8 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -54807,14 +54807,14 @@ type DescribeInstancesInput struct { // // * launch-time - The time when the instance was launched. // - // * metadata-http-tokens - The metadata request authorization state (optional - // | required) + // * metadata-options.http-tokens - The metadata request authorization state + // (optional | required) // - // * metadata-http-put-response-hop-limit - The http metadata request put - // response hop limit (integer, possible values 1 to 64) + // * metadata-options.http-put-response-hop-limit - The http metadata request + // put response hop limit (integer, possible values 1 to 64) // - // * metadata-http-endpoint - Enable or disable metadata access on http endpoint - // (enabled | disabled) + // * metadata-options.http-endpoint - Enable or disable metadata access on + // http endpoint (enabled | disabled) // // * monitoring-state - Indicates whether detailed monitoring is enabled // (disabled | enabled). @@ -69519,6 +69519,10 @@ type Host struct { // The IDs and instance type that are currently running on the Dedicated Host. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"` + // Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup + // is true, the host is in a host resource group; otherwise, it is not. + MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"` + // The ID of the AWS account that owns the Dedicated Host. OwnerId *string `locationName:"ownerId" type:"string"` @@ -69614,6 +69618,12 @@ func (s *Host) SetInstances(v []*HostInstance) *Host { return s } +// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value. +func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host { + s.MemberOfServiceLinkedResourceGroup = &v + return s +} + // SetOwnerId sets the OwnerId field's value. func (s *Host) SetOwnerId(v string) *Host { s.OwnerId = &v @@ -75925,6 +75935,9 @@ type LaunchTemplatePlacement struct { // The ID of the Dedicated Host for the instance. HostId *string `locationName:"hostId" type:"string"` + // The ARN of the host resource group in which to launch the instances. + HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"` + // Reserved for future use. SpreadDomain *string `locationName:"spreadDomain" type:"string"` @@ -75967,6 +75980,12 @@ func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement { return s } +// SetHostResourceGroupArn sets the HostResourceGroupArn field's value. +func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement { + s.HostResourceGroupArn = &v + return s +} + // SetSpreadDomain sets the SpreadDomain field's value. func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement { s.SpreadDomain = &v @@ -75995,6 +76014,11 @@ type LaunchTemplatePlacementRequest struct { // The ID of the Dedicated Host for the instance. HostId *string `type:"string"` + // The ARN of the host resource group in which to launch the instances. If you + // specify a host resource group ARN, omit the Tenancy parameter or set it to + // host. + HostResourceGroupArn *string `type:"string"` + // Reserved for future use. SpreadDomain *string `type:"string"` @@ -76037,6 +76061,12 @@ func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlac return s } +// SetHostResourceGroupArn sets the HostResourceGroupArn field's value. +func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest { + s.HostResourceGroupArn = &v + return s +} + // SetSpreadDomain sets the SpreadDomain field's value. func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest { s.SpreadDomain = &v @@ -78425,6 +78455,9 @@ type ModifyInstancePlacementInput struct { // The ID of the Dedicated Host with which to associate the instance. HostId *string `locationName:"hostId" type:"string"` + // The ARN of the host resource group in which to place the instance. + HostResourceGroupArn *string `type:"string"` + // The ID of the instance that you are modifying. // // InstanceId is a required field @@ -78478,6 +78511,12 @@ func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacem return s } +// SetHostResourceGroupArn sets the HostResourceGroupArn field's value. +func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput { + s.HostResourceGroupArn = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput { s.InstanceId = &v @@ -82916,6 +82955,11 @@ type Placement struct { // is not supported for the ImportInstance command. HostId *string `locationName:"hostId" type:"string"` + // The ARN of the host resource group in which to launch the instances. If you + // specify a host resource group ARN, omit the Tenancy parameter or set it to + // host. + HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"` + // The number of the partition the instance is in. Valid only if the placement // group strategy is set to partition. PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"` @@ -82963,6 +83007,12 @@ func (s *Placement) SetHostId(v string) *Placement { return s } +// SetHostResourceGroupArn sets the HostResourceGroupArn field's value. +func (s *Placement) SetHostResourceGroupArn(v string) *Placement { + s.HostResourceGroupArn = &v + return s +} + // SetPartitionNumber sets the PartitionNumber field's value. func (s *Placement) SetPartitionNumber(v int64) *Placement { s.PartitionNumber = &v @@ -101423,6 +101473,9 @@ const ( // ResourceTypeSnapshot is a ResourceType enum value ResourceTypeSnapshot = "snapshot" + // ResourceTypeSpotFleetRequest is a ResourceType enum value + ResourceTypeSpotFleetRequest = "spot-fleet-request" + // ResourceTypeSpotInstancesRequest is a ResourceType enum value ResourceTypeSpotInstancesRequest = "spot-instances-request" diff --git a/service/imagebuilder/api.go b/service/imagebuilder/api.go new file mode 100644 index 00000000000..0aa458cdbbc --- /dev/null +++ b/service/imagebuilder/api.go @@ -0,0 +1,11505 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package imagebuilder + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCancelImageCreation = "CancelImageCreation" + +// CancelImageCreationRequest generates a "aws/request.Request" representing the +// client's request for the CancelImageCreation 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 CancelImageCreation for more information on using the CancelImageCreation +// 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 CancelImageCreationRequest method. +// req, resp := client.CancelImageCreationRequest(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/CancelImageCreation +func (c *Imagebuilder) CancelImageCreationRequest(input *CancelImageCreationInput) (req *request.Request, output *CancelImageCreationOutput) { + op := &request.Operation{ + Name: opCancelImageCreation, + HTTPMethod: "PUT", + HTTPPath: "/CancelImageCreation", + } + + if input == nil { + input = &CancelImageCreationInput{} + } + + output = &CancelImageCreationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelImageCreation API operation for EC2 Image Builder. +// +// CancelImageCreation cancels the creation of Image. This operation may only +// be used on images in a non-terminal state. +// +// 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 CancelImageCreation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "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/CancelImageCreation +func (c *Imagebuilder) CancelImageCreation(input *CancelImageCreationInput) (*CancelImageCreationOutput, error) { + req, out := c.CancelImageCreationRequest(input) + return out, req.Send() +} + +// CancelImageCreationWithContext is the same as CancelImageCreation with the addition of +// the ability to pass a context and additional request options. +// +// See CancelImageCreation 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) CancelImageCreationWithContext(ctx aws.Context, input *CancelImageCreationInput, opts ...request.Option) (*CancelImageCreationOutput, error) { + req, out := c.CancelImageCreationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateComponent = "CreateComponent" + +// CreateComponentRequest generates a "aws/request.Request" representing the +// client's request for the CreateComponent 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 CreateComponent for more information on using the CreateComponent +// 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 CreateComponentRequest method. +// req, resp := client.CreateComponentRequest(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/CreateComponent +func (c *Imagebuilder) CreateComponentRequest(input *CreateComponentInput) (req *request.Request, output *CreateComponentOutput) { + op := &request.Operation{ + Name: opCreateComponent, + HTTPMethod: "PUT", + HTTPPath: "/CreateComponent", + } + + if input == nil { + input = &CreateComponentInput{} + } + + output = &CreateComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateComponent API operation for EC2 Image Builder. +// +// Creates a new component that can be used to build, validate, test and assess +// your 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 CreateComponent for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeInvalidVersionNumberException "InvalidVersionNumberException" +// Your version number is out of bounds or does not follow the required syntax. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeInvalidParameterCombinationException "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/CreateComponent +func (c *Imagebuilder) CreateComponent(input *CreateComponentInput) (*CreateComponentOutput, error) { + req, out := c.CreateComponentRequest(input) + return out, req.Send() +} + +// CreateComponentWithContext is the same as CreateComponent with the addition of +// the ability to pass a context and additional request options. +// +// See CreateComponent 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) CreateComponentWithContext(ctx aws.Context, input *CreateComponentInput, opts ...request.Option) (*CreateComponentOutput, error) { + req, out := c.CreateComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDistributionConfiguration = "CreateDistributionConfiguration" + +// CreateDistributionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateDistributionConfiguration 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 CreateDistributionConfiguration for more information on using the CreateDistributionConfiguration +// 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 CreateDistributionConfigurationRequest method. +// req, resp := client.CreateDistributionConfigurationRequest(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/CreateDistributionConfiguration +func (c *Imagebuilder) CreateDistributionConfigurationRequest(input *CreateDistributionConfigurationInput) (req *request.Request, output *CreateDistributionConfigurationOutput) { + op := &request.Operation{ + Name: opCreateDistributionConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/CreateDistributionConfiguration", + } + + if input == nil { + input = &CreateDistributionConfigurationInput{} + } + + output = &CreateDistributionConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDistributionConfiguration API operation for EC2 Image Builder. +// +// Creates 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 CreateDistributionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource that you are trying to create already exists. +// +// * ErrCodeInvalidParameterCombinationException "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/CreateDistributionConfiguration +func (c *Imagebuilder) CreateDistributionConfiguration(input *CreateDistributionConfigurationInput) (*CreateDistributionConfigurationOutput, error) { + req, out := c.CreateDistributionConfigurationRequest(input) + return out, req.Send() +} + +// CreateDistributionConfigurationWithContext is the same as CreateDistributionConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDistributionConfiguration 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) CreateDistributionConfigurationWithContext(ctx aws.Context, input *CreateDistributionConfigurationInput, opts ...request.Option) (*CreateDistributionConfigurationOutput, error) { + req, out := c.CreateDistributionConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateImage = "CreateImage" + +// CreateImageRequest generates a "aws/request.Request" representing the +// client's request for the CreateImage 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 CreateImage for more information on using the CreateImage +// 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 CreateImageRequest method. +// req, resp := client.CreateImageRequest(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/CreateImage +func (c *Imagebuilder) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) { + op := &request.Operation{ + Name: opCreateImage, + HTTPMethod: "PUT", + HTTPPath: "/CreateImage", + } + + if input == nil { + input = &CreateImageInput{} + } + + output = &CreateImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImage API operation for EC2 Image Builder. +// +// Creates a new image. This request will create a new image along with all +// of the configured output resources defined in the distribution configuration. +// +// 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 CreateImage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "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/CreateImage +func (c *Imagebuilder) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) { + req, out := c.CreateImageRequest(input) + return out, req.Send() +} + +// CreateImageWithContext is the same as CreateImage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImage 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) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) { + req, out := c.CreateImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateImagePipeline = "CreateImagePipeline" + +// CreateImagePipelineRequest generates a "aws/request.Request" representing the +// client's request for the CreateImagePipeline 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 CreateImagePipeline for more information on using the CreateImagePipeline +// 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 CreateImagePipelineRequest method. +// req, resp := client.CreateImagePipelineRequest(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/CreateImagePipeline +func (c *Imagebuilder) CreateImagePipelineRequest(input *CreateImagePipelineInput) (req *request.Request, output *CreateImagePipelineOutput) { + op := &request.Operation{ + Name: opCreateImagePipeline, + HTTPMethod: "PUT", + HTTPPath: "/CreateImagePipeline", + } + + if input == nil { + input = &CreateImagePipelineInput{} + } + + output = &CreateImagePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImagePipeline API operation for EC2 Image Builder. +// +// Creates a new image pipeline. Image pipelines enable you to automate the +// creation and distribution of images. +// +// 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 CreateImagePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource that you are trying to create already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline +func (c *Imagebuilder) CreateImagePipeline(input *CreateImagePipelineInput) (*CreateImagePipelineOutput, error) { + req, out := c.CreateImagePipelineRequest(input) + return out, req.Send() +} + +// CreateImagePipelineWithContext is the same as CreateImagePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImagePipeline 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) CreateImagePipelineWithContext(ctx aws.Context, input *CreateImagePipelineInput, opts ...request.Option) (*CreateImagePipelineOutput, error) { + req, out := c.CreateImagePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateImageRecipe = "CreateImageRecipe" + +// CreateImageRecipeRequest generates a "aws/request.Request" representing the +// client's request for the CreateImageRecipe 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 CreateImageRecipe for more information on using the CreateImageRecipe +// 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 CreateImageRecipeRequest method. +// req, resp := client.CreateImageRecipeRequest(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/CreateImageRecipe +func (c *Imagebuilder) CreateImageRecipeRequest(input *CreateImageRecipeInput) (req *request.Request, output *CreateImageRecipeOutput) { + op := &request.Operation{ + Name: opCreateImageRecipe, + HTTPMethod: "PUT", + HTTPPath: "/CreateImageRecipe", + } + + if input == nil { + input = &CreateImageRecipeInput{} + } + + output = &CreateImageRecipeOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImageRecipe API operation for EC2 Image Builder. +// +// Creates a new image recipe. Image Recipes defines how images are configured, +// tested and assessed. +// +// 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 CreateImageRecipe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeInvalidVersionNumberException "InvalidVersionNumberException" +// Your version number is out of bounds or does not follow the required syntax. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource that you are trying to create already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe +func (c *Imagebuilder) CreateImageRecipe(input *CreateImageRecipeInput) (*CreateImageRecipeOutput, error) { + req, out := c.CreateImageRecipeRequest(input) + return out, req.Send() +} + +// CreateImageRecipeWithContext is the same as CreateImageRecipe with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImageRecipe 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) CreateImageRecipeWithContext(ctx aws.Context, input *CreateImageRecipeInput, opts ...request.Option) (*CreateImageRecipeOutput, error) { + req, out := c.CreateImageRecipeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateInfrastructureConfiguration = "CreateInfrastructureConfiguration" + +// CreateInfrastructureConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateInfrastructureConfiguration 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 CreateInfrastructureConfiguration for more information on using the CreateInfrastructureConfiguration +// 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 CreateInfrastructureConfigurationRequest method. +// req, resp := client.CreateInfrastructureConfigurationRequest(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/CreateInfrastructureConfiguration +func (c *Imagebuilder) CreateInfrastructureConfigurationRequest(input *CreateInfrastructureConfigurationInput) (req *request.Request, output *CreateInfrastructureConfigurationOutput) { + op := &request.Operation{ + Name: opCreateInfrastructureConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/CreateInfrastructureConfiguration", + } + + if input == nil { + input = &CreateInfrastructureConfigurationInput{} + } + + output = &CreateInfrastructureConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateInfrastructureConfiguration API operation for EC2 Image Builder. +// +// Creates 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 CreateInfrastructureConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource that you are trying to create already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration +func (c *Imagebuilder) CreateInfrastructureConfiguration(input *CreateInfrastructureConfigurationInput) (*CreateInfrastructureConfigurationOutput, error) { + req, out := c.CreateInfrastructureConfigurationRequest(input) + return out, req.Send() +} + +// CreateInfrastructureConfigurationWithContext is the same as CreateInfrastructureConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateInfrastructureConfiguration 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) CreateInfrastructureConfigurationWithContext(ctx aws.Context, input *CreateInfrastructureConfigurationInput, opts ...request.Option) (*CreateInfrastructureConfigurationOutput, error) { + req, out := c.CreateInfrastructureConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteComponent = "DeleteComponent" + +// DeleteComponentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteComponent 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 DeleteComponent for more information on using the DeleteComponent +// 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 DeleteComponentRequest method. +// req, resp := client.DeleteComponentRequest(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/DeleteComponent +func (c *Imagebuilder) DeleteComponentRequest(input *DeleteComponentInput) (req *request.Request, output *DeleteComponentOutput) { + op := &request.Operation{ + Name: opDeleteComponent, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteComponent", + } + + if input == nil { + input = &DeleteComponentInput{} + } + + output = &DeleteComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteComponent API operation for EC2 Image Builder. +// +// Deletes a component 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 DeleteComponent for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponent +func (c *Imagebuilder) DeleteComponent(input *DeleteComponentInput) (*DeleteComponentOutput, error) { + req, out := c.DeleteComponentRequest(input) + return out, req.Send() +} + +// DeleteComponentWithContext is the same as DeleteComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteComponent 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) DeleteComponentWithContext(ctx aws.Context, input *DeleteComponentInput, opts ...request.Option) (*DeleteComponentOutput, error) { + req, out := c.DeleteComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDistributionConfiguration = "DeleteDistributionConfiguration" + +// DeleteDistributionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDistributionConfiguration 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 DeleteDistributionConfiguration for more information on using the DeleteDistributionConfiguration +// 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 DeleteDistributionConfigurationRequest method. +// req, resp := client.DeleteDistributionConfigurationRequest(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/DeleteDistributionConfiguration +func (c *Imagebuilder) DeleteDistributionConfigurationRequest(input *DeleteDistributionConfigurationInput) (req *request.Request, output *DeleteDistributionConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteDistributionConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteDistributionConfiguration", + } + + if input == nil { + input = &DeleteDistributionConfigurationInput{} + } + + output = &DeleteDistributionConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDistributionConfiguration API operation for EC2 Image Builder. +// +// Deletes a distribution configuration. +// +// 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 DeleteDistributionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfiguration +func (c *Imagebuilder) DeleteDistributionConfiguration(input *DeleteDistributionConfigurationInput) (*DeleteDistributionConfigurationOutput, error) { + req, out := c.DeleteDistributionConfigurationRequest(input) + return out, req.Send() +} + +// DeleteDistributionConfigurationWithContext is the same as DeleteDistributionConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDistributionConfiguration 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) DeleteDistributionConfigurationWithContext(ctx aws.Context, input *DeleteDistributionConfigurationInput, opts ...request.Option) (*DeleteDistributionConfigurationOutput, error) { + req, out := c.DeleteDistributionConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteImage = "DeleteImage" + +// DeleteImageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImage 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 DeleteImage for more information on using the DeleteImage +// 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 DeleteImageRequest method. +// req, resp := client.DeleteImageRequest(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/DeleteImage +func (c *Imagebuilder) DeleteImageRequest(input *DeleteImageInput) (req *request.Request, output *DeleteImageOutput) { + op := &request.Operation{ + Name: opDeleteImage, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteImage", + } + + if input == nil { + input = &DeleteImageInput{} + } + + output = &DeleteImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteImage API operation for EC2 Image Builder. +// +// Deletes 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 DeleteImage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImage +func (c *Imagebuilder) DeleteImage(input *DeleteImageInput) (*DeleteImageOutput, error) { + req, out := c.DeleteImageRequest(input) + return out, req.Send() +} + +// DeleteImageWithContext is the same as DeleteImage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImage 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) DeleteImageWithContext(ctx aws.Context, input *DeleteImageInput, opts ...request.Option) (*DeleteImageOutput, error) { + req, out := c.DeleteImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteImagePipeline = "DeleteImagePipeline" + +// DeleteImagePipelineRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImagePipeline 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 DeleteImagePipeline for more information on using the DeleteImagePipeline +// 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 DeleteImagePipelineRequest method. +// req, resp := client.DeleteImagePipelineRequest(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/DeleteImagePipeline +func (c *Imagebuilder) DeleteImagePipelineRequest(input *DeleteImagePipelineInput) (req *request.Request, output *DeleteImagePipelineOutput) { + op := &request.Operation{ + Name: opDeleteImagePipeline, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteImagePipeline", + } + + if input == nil { + input = &DeleteImagePipelineInput{} + } + + output = &DeleteImagePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteImagePipeline API operation for EC2 Image Builder. +// +// Deletes an image 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 DeleteImagePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipeline +func (c *Imagebuilder) DeleteImagePipeline(input *DeleteImagePipelineInput) (*DeleteImagePipelineOutput, error) { + req, out := c.DeleteImagePipelineRequest(input) + return out, req.Send() +} + +// DeleteImagePipelineWithContext is the same as DeleteImagePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImagePipeline 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) DeleteImagePipelineWithContext(ctx aws.Context, input *DeleteImagePipelineInput, opts ...request.Option) (*DeleteImagePipelineOutput, error) { + req, out := c.DeleteImagePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteImageRecipe = "DeleteImageRecipe" + +// DeleteImageRecipeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImageRecipe 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 DeleteImageRecipe for more information on using the DeleteImageRecipe +// 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 DeleteImageRecipeRequest method. +// req, resp := client.DeleteImageRecipeRequest(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/DeleteImageRecipe +func (c *Imagebuilder) DeleteImageRecipeRequest(input *DeleteImageRecipeInput) (req *request.Request, output *DeleteImageRecipeOutput) { + op := &request.Operation{ + Name: opDeleteImageRecipe, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteImageRecipe", + } + + if input == nil { + input = &DeleteImageRecipeInput{} + } + + output = &DeleteImageRecipeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteImageRecipe API operation for EC2 Image Builder. +// +// Deletes an image recipe. +// +// 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 DeleteImageRecipe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipe +func (c *Imagebuilder) DeleteImageRecipe(input *DeleteImageRecipeInput) (*DeleteImageRecipeOutput, error) { + req, out := c.DeleteImageRecipeRequest(input) + return out, req.Send() +} + +// DeleteImageRecipeWithContext is the same as DeleteImageRecipe with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImageRecipe 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) DeleteImageRecipeWithContext(ctx aws.Context, input *DeleteImageRecipeInput, opts ...request.Option) (*DeleteImageRecipeOutput, error) { + req, out := c.DeleteImageRecipeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteInfrastructureConfiguration = "DeleteInfrastructureConfiguration" + +// DeleteInfrastructureConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInfrastructureConfiguration 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 DeleteInfrastructureConfiguration for more information on using the DeleteInfrastructureConfiguration +// 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 DeleteInfrastructureConfigurationRequest method. +// req, resp := client.DeleteInfrastructureConfigurationRequest(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/DeleteInfrastructureConfiguration +func (c *Imagebuilder) DeleteInfrastructureConfigurationRequest(input *DeleteInfrastructureConfigurationInput) (req *request.Request, output *DeleteInfrastructureConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteInfrastructureConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/DeleteInfrastructureConfiguration", + } + + if input == nil { + input = &DeleteInfrastructureConfigurationInput{} + } + + output = &DeleteInfrastructureConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInfrastructureConfiguration API operation for EC2 Image Builder. +// +// Deletes an infrastructure configuration. +// +// 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 DeleteInfrastructureConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceDependencyException "ResourceDependencyException" +// You have attempted to mutate or delete a resource with a dependency that +// is prohibitting this action. See the error message for more details. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfiguration +func (c *Imagebuilder) DeleteInfrastructureConfiguration(input *DeleteInfrastructureConfigurationInput) (*DeleteInfrastructureConfigurationOutput, error) { + req, out := c.DeleteInfrastructureConfigurationRequest(input) + return out, req.Send() +} + +// DeleteInfrastructureConfigurationWithContext is the same as DeleteInfrastructureConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInfrastructureConfiguration 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) DeleteInfrastructureConfigurationWithContext(ctx aws.Context, input *DeleteInfrastructureConfigurationInput, opts ...request.Option) (*DeleteInfrastructureConfigurationOutput, error) { + req, out := c.DeleteInfrastructureConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetComponent = "GetComponent" + +// GetComponentRequest generates a "aws/request.Request" representing the +// client's request for the GetComponent 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 GetComponent for more information on using the GetComponent +// 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 GetComponentRequest method. +// req, resp := client.GetComponentRequest(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/GetComponent +func (c *Imagebuilder) GetComponentRequest(input *GetComponentInput) (req *request.Request, output *GetComponentOutput) { + op := &request.Operation{ + Name: opGetComponent, + HTTPMethod: "GET", + HTTPPath: "/GetComponent", + } + + if input == nil { + input = &GetComponentInput{} + } + + output = &GetComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetComponent API operation for EC2 Image Builder. +// +// Gets a component 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 GetComponent for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetComponent +func (c *Imagebuilder) GetComponent(input *GetComponentInput) (*GetComponentOutput, error) { + req, out := c.GetComponentRequest(input) + return out, req.Send() +} + +// GetComponentWithContext is the same as GetComponent with the addition of +// the ability to pass a context and additional request options. +// +// See GetComponent 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) GetComponentWithContext(ctx aws.Context, input *GetComponentInput, opts ...request.Option) (*GetComponentOutput, error) { + req, out := c.GetComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetComponentPolicy = "GetComponentPolicy" + +// GetComponentPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetComponentPolicy 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 GetComponentPolicy for more information on using the GetComponentPolicy +// 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 GetComponentPolicyRequest method. +// req, resp := client.GetComponentPolicyRequest(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/GetComponentPolicy +func (c *Imagebuilder) GetComponentPolicyRequest(input *GetComponentPolicyInput) (req *request.Request, output *GetComponentPolicyOutput) { + op := &request.Operation{ + Name: opGetComponentPolicy, + HTTPMethod: "GET", + HTTPPath: "/GetComponentPolicy", + } + + if input == nil { + input = &GetComponentPolicyInput{} + } + + output = &GetComponentPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetComponentPolicy API operation for EC2 Image Builder. +// +// Gets a component 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 GetComponentPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetComponentPolicy +func (c *Imagebuilder) GetComponentPolicy(input *GetComponentPolicyInput) (*GetComponentPolicyOutput, error) { + req, out := c.GetComponentPolicyRequest(input) + return out, req.Send() +} + +// GetComponentPolicyWithContext is the same as GetComponentPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetComponentPolicy 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) GetComponentPolicyWithContext(ctx aws.Context, input *GetComponentPolicyInput, opts ...request.Option) (*GetComponentPolicyOutput, error) { + req, out := c.GetComponentPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDistributionConfiguration = "GetDistributionConfiguration" + +// GetDistributionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionConfiguration 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 GetDistributionConfiguration for more information on using the GetDistributionConfiguration +// 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 GetDistributionConfigurationRequest method. +// req, resp := client.GetDistributionConfigurationRequest(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/GetDistributionConfiguration +func (c *Imagebuilder) GetDistributionConfigurationRequest(input *GetDistributionConfigurationInput) (req *request.Request, output *GetDistributionConfigurationOutput) { + op := &request.Operation{ + Name: opGetDistributionConfiguration, + HTTPMethod: "GET", + HTTPPath: "/GetDistributionConfiguration", + } + + if input == nil { + input = &GetDistributionConfigurationInput{} + } + + output = &GetDistributionConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDistributionConfiguration API operation for EC2 Image Builder. +// +// Gets a distribution configuration. +// +// 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 GetDistributionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetDistributionConfiguration +func (c *Imagebuilder) GetDistributionConfiguration(input *GetDistributionConfigurationInput) (*GetDistributionConfigurationOutput, error) { + req, out := c.GetDistributionConfigurationRequest(input) + return out, req.Send() +} + +// GetDistributionConfigurationWithContext is the same as GetDistributionConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetDistributionConfiguration 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) GetDistributionConfigurationWithContext(ctx aws.Context, input *GetDistributionConfigurationInput, opts ...request.Option) (*GetDistributionConfigurationOutput, error) { + req, out := c.GetDistributionConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetImage = "GetImage" + +// GetImageRequest generates a "aws/request.Request" representing the +// client's request for the GetImage 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 GetImage for more information on using the GetImage +// 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 GetImageRequest method. +// req, resp := client.GetImageRequest(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/GetImage +func (c *Imagebuilder) GetImageRequest(input *GetImageInput) (req *request.Request, output *GetImageOutput) { + op := &request.Operation{ + Name: opGetImage, + HTTPMethod: "GET", + HTTPPath: "/GetImage", + } + + if input == nil { + input = &GetImageInput{} + } + + output = &GetImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImage API operation for EC2 Image Builder. +// +// Gets 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 GetImage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetImage +func (c *Imagebuilder) GetImage(input *GetImageInput) (*GetImageOutput, error) { + req, out := c.GetImageRequest(input) + return out, req.Send() +} + +// GetImageWithContext is the same as GetImage with the addition of +// the ability to pass a context and additional request options. +// +// See GetImage 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) GetImageWithContext(ctx aws.Context, input *GetImageInput, opts ...request.Option) (*GetImageOutput, error) { + req, out := c.GetImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetImagePipeline = "GetImagePipeline" + +// GetImagePipelineRequest generates a "aws/request.Request" representing the +// client's request for the GetImagePipeline 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 GetImagePipeline for more information on using the GetImagePipeline +// 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 GetImagePipelineRequest method. +// req, resp := client.GetImagePipelineRequest(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/GetImagePipeline +func (c *Imagebuilder) GetImagePipelineRequest(input *GetImagePipelineInput) (req *request.Request, output *GetImagePipelineOutput) { + op := &request.Operation{ + Name: opGetImagePipeline, + HTTPMethod: "GET", + HTTPPath: "/GetImagePipeline", + } + + if input == nil { + input = &GetImagePipelineInput{} + } + + output = &GetImagePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImagePipeline API operation for EC2 Image Builder. +// +// Gets an image 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 GetImagePipeline for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetImagePipeline +func (c *Imagebuilder) GetImagePipeline(input *GetImagePipelineInput) (*GetImagePipelineOutput, error) { + req, out := c.GetImagePipelineRequest(input) + return out, req.Send() +} + +// GetImagePipelineWithContext is the same as GetImagePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See GetImagePipeline 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) GetImagePipelineWithContext(ctx aws.Context, input *GetImagePipelineInput, opts ...request.Option) (*GetImagePipelineOutput, error) { + req, out := c.GetImagePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetImagePolicy = "GetImagePolicy" + +// GetImagePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetImagePolicy 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 GetImagePolicy for more information on using the GetImagePolicy +// 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 GetImagePolicyRequest method. +// req, resp := client.GetImagePolicyRequest(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/GetImagePolicy +func (c *Imagebuilder) GetImagePolicyRequest(input *GetImagePolicyInput) (req *request.Request, output *GetImagePolicyOutput) { + op := &request.Operation{ + Name: opGetImagePolicy, + HTTPMethod: "GET", + HTTPPath: "/GetImagePolicy", + } + + if input == nil { + input = &GetImagePolicyInput{} + } + + output = &GetImagePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImagePolicy API operation for EC2 Image Builder. +// +// Gets an image 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 GetImagePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetImagePolicy +func (c *Imagebuilder) GetImagePolicy(input *GetImagePolicyInput) (*GetImagePolicyOutput, error) { + req, out := c.GetImagePolicyRequest(input) + return out, req.Send() +} + +// GetImagePolicyWithContext is the same as GetImagePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetImagePolicy 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) GetImagePolicyWithContext(ctx aws.Context, input *GetImagePolicyInput, opts ...request.Option) (*GetImagePolicyOutput, error) { + req, out := c.GetImagePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetImageRecipe = "GetImageRecipe" + +// GetImageRecipeRequest generates a "aws/request.Request" representing the +// client's request for the GetImageRecipe 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 GetImageRecipe for more information on using the GetImageRecipe +// 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 GetImageRecipeRequest method. +// req, resp := client.GetImageRecipeRequest(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/GetImageRecipe +func (c *Imagebuilder) GetImageRecipeRequest(input *GetImageRecipeInput) (req *request.Request, output *GetImageRecipeOutput) { + op := &request.Operation{ + Name: opGetImageRecipe, + HTTPMethod: "GET", + HTTPPath: "/GetImageRecipe", + } + + if input == nil { + input = &GetImageRecipeInput{} + } + + output = &GetImageRecipeOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImageRecipe API operation for EC2 Image Builder. +// +// Gets an image recipe. +// +// 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 GetImageRecipe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetImageRecipe +func (c *Imagebuilder) GetImageRecipe(input *GetImageRecipeInput) (*GetImageRecipeOutput, error) { + req, out := c.GetImageRecipeRequest(input) + return out, req.Send() +} + +// GetImageRecipeWithContext is the same as GetImageRecipe with the addition of +// the ability to pass a context and additional request options. +// +// See GetImageRecipe 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) GetImageRecipeWithContext(ctx aws.Context, input *GetImageRecipeInput, opts ...request.Option) (*GetImageRecipeOutput, error) { + req, out := c.GetImageRecipeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetImageRecipePolicy = "GetImageRecipePolicy" + +// GetImageRecipePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetImageRecipePolicy 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 GetImageRecipePolicy for more information on using the GetImageRecipePolicy +// 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 GetImageRecipePolicyRequest method. +// req, resp := client.GetImageRecipePolicyRequest(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/GetImageRecipePolicy +func (c *Imagebuilder) GetImageRecipePolicyRequest(input *GetImageRecipePolicyInput) (req *request.Request, output *GetImageRecipePolicyOutput) { + op := &request.Operation{ + Name: opGetImageRecipePolicy, + HTTPMethod: "GET", + HTTPPath: "/GetImageRecipePolicy", + } + + if input == nil { + input = &GetImageRecipePolicyInput{} + } + + output = &GetImageRecipePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImageRecipePolicy API operation for EC2 Image Builder. +// +// Gets an image recipe 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 GetImageRecipePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetImageRecipePolicy +func (c *Imagebuilder) GetImageRecipePolicy(input *GetImageRecipePolicyInput) (*GetImageRecipePolicyOutput, error) { + req, out := c.GetImageRecipePolicyRequest(input) + return out, req.Send() +} + +// GetImageRecipePolicyWithContext is the same as GetImageRecipePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetImageRecipePolicy 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) GetImageRecipePolicyWithContext(ctx aws.Context, input *GetImageRecipePolicyInput, opts ...request.Option) (*GetImageRecipePolicyOutput, error) { + req, out := c.GetImageRecipePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetInfrastructureConfiguration = "GetInfrastructureConfiguration" + +// GetInfrastructureConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetInfrastructureConfiguration 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 GetInfrastructureConfiguration for more information on using the GetInfrastructureConfiguration +// 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 GetInfrastructureConfigurationRequest method. +// req, resp := client.GetInfrastructureConfigurationRequest(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/GetInfrastructureConfiguration +func (c *Imagebuilder) GetInfrastructureConfigurationRequest(input *GetInfrastructureConfigurationInput) (req *request.Request, output *GetInfrastructureConfigurationOutput) { + op := &request.Operation{ + Name: opGetInfrastructureConfiguration, + HTTPMethod: "GET", + HTTPPath: "/GetInfrastructureConfiguration", + } + + if input == nil { + input = &GetInfrastructureConfigurationInput{} + } + + output = &GetInfrastructureConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInfrastructureConfiguration API operation for EC2 Image Builder. +// +// Gets a infrastructure configuration. +// +// 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 GetInfrastructureConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/GetInfrastructureConfiguration +func (c *Imagebuilder) GetInfrastructureConfiguration(input *GetInfrastructureConfigurationInput) (*GetInfrastructureConfigurationOutput, error) { + req, out := c.GetInfrastructureConfigurationRequest(input) + return out, req.Send() +} + +// GetInfrastructureConfigurationWithContext is the same as GetInfrastructureConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetInfrastructureConfiguration 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) GetInfrastructureConfigurationWithContext(ctx aws.Context, input *GetInfrastructureConfigurationInput, opts ...request.Option) (*GetInfrastructureConfigurationOutput, error) { + req, out := c.GetInfrastructureConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportComponent = "ImportComponent" + +// ImportComponentRequest generates a "aws/request.Request" representing the +// client's request for the ImportComponent 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 ImportComponent for more information on using the ImportComponent +// 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 ImportComponentRequest method. +// req, resp := client.ImportComponentRequest(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/ImportComponent +func (c *Imagebuilder) ImportComponentRequest(input *ImportComponentInput) (req *request.Request, output *ImportComponentOutput) { + op := &request.Operation{ + Name: opImportComponent, + HTTPMethod: "PUT", + HTTPPath: "/ImportComponent", + } + + if input == nil { + input = &ImportComponentInput{} + } + + output = &ImportComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportComponent API operation for EC2 Image Builder. +// +// Imports a component and transforms its data into a component document. +// +// 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 ImportComponent for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeInvalidVersionNumberException "InvalidVersionNumberException" +// Your version number is out of bounds or does not follow the required syntax. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeInvalidParameterCombinationException "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/ImportComponent +func (c *Imagebuilder) ImportComponent(input *ImportComponentInput) (*ImportComponentOutput, error) { + req, out := c.ImportComponentRequest(input) + return out, req.Send() +} + +// ImportComponentWithContext is the same as ImportComponent with the addition of +// the ability to pass a context and additional request options. +// +// See ImportComponent 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) ImportComponentWithContext(ctx aws.Context, input *ImportComponentInput, opts ...request.Option) (*ImportComponentOutput, error) { + req, out := c.ImportComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComponentBuildVersions = "ListComponentBuildVersions" + +// ListComponentBuildVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListComponentBuildVersions 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 ListComponentBuildVersions for more information on using the ListComponentBuildVersions +// 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 ListComponentBuildVersionsRequest method. +// req, resp := client.ListComponentBuildVersionsRequest(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/ListComponentBuildVersions +func (c *Imagebuilder) ListComponentBuildVersionsRequest(input *ListComponentBuildVersionsInput) (req *request.Request, output *ListComponentBuildVersionsOutput) { + op := &request.Operation{ + Name: opListComponentBuildVersions, + HTTPMethod: "POST", + HTTPPath: "/ListComponentBuildVersions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComponentBuildVersionsInput{} + } + + output = &ListComponentBuildVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComponentBuildVersions API operation for EC2 Image Builder. +// +// Returns the list of component build versions for the specified semantic 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 ListComponentBuildVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListComponentBuildVersions +func (c *Imagebuilder) ListComponentBuildVersions(input *ListComponentBuildVersionsInput) (*ListComponentBuildVersionsOutput, error) { + req, out := c.ListComponentBuildVersionsRequest(input) + return out, req.Send() +} + +// ListComponentBuildVersionsWithContext is the same as ListComponentBuildVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListComponentBuildVersions 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) ListComponentBuildVersionsWithContext(ctx aws.Context, input *ListComponentBuildVersionsInput, opts ...request.Option) (*ListComponentBuildVersionsOutput, error) { + req, out := c.ListComponentBuildVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComponentBuildVersionsPages iterates over the pages of a ListComponentBuildVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComponentBuildVersions 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 ListComponentBuildVersions operation. +// pageNum := 0 +// err := client.ListComponentBuildVersionsPages(params, +// func(page *imagebuilder.ListComponentBuildVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListComponentBuildVersionsPages(input *ListComponentBuildVersionsInput, fn func(*ListComponentBuildVersionsOutput, bool) bool) error { + return c.ListComponentBuildVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComponentBuildVersionsPagesWithContext same as ListComponentBuildVersionsPages 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) ListComponentBuildVersionsPagesWithContext(ctx aws.Context, input *ListComponentBuildVersionsInput, fn func(*ListComponentBuildVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComponentBuildVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComponentBuildVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComponentBuildVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListComponents = "ListComponents" + +// ListComponentsRequest generates a "aws/request.Request" representing the +// client's request for the ListComponents 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 ListComponents for more information on using the ListComponents +// 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 ListComponentsRequest method. +// req, resp := client.ListComponentsRequest(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/ListComponents +func (c *Imagebuilder) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) { + op := &request.Operation{ + Name: opListComponents, + HTTPMethod: "POST", + HTTPPath: "/ListComponents", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComponentsInput{} + } + + output = &ListComponentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComponents API operation for EC2 Image Builder. +// +// Returns the list of component build versions for the specified semantic 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 ListComponents for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListComponents +func (c *Imagebuilder) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) { + req, out := c.ListComponentsRequest(input) + return out, req.Send() +} + +// ListComponentsWithContext is the same as ListComponents with the addition of +// the ability to pass a context and additional request options. +// +// See ListComponents 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) ListComponentsWithContext(ctx aws.Context, input *ListComponentsInput, opts ...request.Option) (*ListComponentsOutput, error) { + req, out := c.ListComponentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComponentsPages iterates over the pages of a ListComponents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComponents 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 ListComponents operation. +// pageNum := 0 +// err := client.ListComponentsPages(params, +// func(page *imagebuilder.ListComponentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error { + return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComponentsPagesWithContext same as ListComponentsPages 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) ListComponentsPagesWithContext(ctx aws.Context, input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComponentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComponentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDistributionConfigurations = "ListDistributionConfigurations" + +// ListDistributionConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionConfigurations 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 ListDistributionConfigurations for more information on using the ListDistributionConfigurations +// 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 ListDistributionConfigurationsRequest method. +// req, resp := client.ListDistributionConfigurationsRequest(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/ListDistributionConfigurations +func (c *Imagebuilder) ListDistributionConfigurationsRequest(input *ListDistributionConfigurationsInput) (req *request.Request, output *ListDistributionConfigurationsOutput) { + op := &request.Operation{ + Name: opListDistributionConfigurations, + HTTPMethod: "POST", + HTTPPath: "/ListDistributionConfigurations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDistributionConfigurationsInput{} + } + + output = &ListDistributionConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDistributionConfigurations API operation for EC2 Image Builder. +// +// Returns a list of distribution configurations. +// +// 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 ListDistributionConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListDistributionConfigurations +func (c *Imagebuilder) ListDistributionConfigurations(input *ListDistributionConfigurationsInput) (*ListDistributionConfigurationsOutput, error) { + req, out := c.ListDistributionConfigurationsRequest(input) + return out, req.Send() +} + +// ListDistributionConfigurationsWithContext is the same as ListDistributionConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListDistributionConfigurations 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) ListDistributionConfigurationsWithContext(ctx aws.Context, input *ListDistributionConfigurationsInput, opts ...request.Option) (*ListDistributionConfigurationsOutput, error) { + req, out := c.ListDistributionConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDistributionConfigurationsPages iterates over the pages of a ListDistributionConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDistributionConfigurations 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 ListDistributionConfigurations operation. +// pageNum := 0 +// err := client.ListDistributionConfigurationsPages(params, +// func(page *imagebuilder.ListDistributionConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListDistributionConfigurationsPages(input *ListDistributionConfigurationsInput, fn func(*ListDistributionConfigurationsOutput, bool) bool) error { + return c.ListDistributionConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDistributionConfigurationsPagesWithContext same as ListDistributionConfigurationsPages 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) ListDistributionConfigurationsPagesWithContext(ctx aws.Context, input *ListDistributionConfigurationsInput, fn func(*ListDistributionConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDistributionConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDistributionConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDistributionConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImageBuildVersions = "ListImageBuildVersions" + +// ListImageBuildVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListImageBuildVersions 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 ListImageBuildVersions for more information on using the ListImageBuildVersions +// 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 ListImageBuildVersionsRequest method. +// req, resp := client.ListImageBuildVersionsRequest(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/ListImageBuildVersions +func (c *Imagebuilder) ListImageBuildVersionsRequest(input *ListImageBuildVersionsInput) (req *request.Request, output *ListImageBuildVersionsOutput) { + op := &request.Operation{ + Name: opListImageBuildVersions, + HTTPMethod: "POST", + HTTPPath: "/ListImageBuildVersions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImageBuildVersionsInput{} + } + + output = &ListImageBuildVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImageBuildVersions API operation for EC2 Image Builder. +// +// Returns a list of distribution configurations. +// +// 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 ListImageBuildVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListImageBuildVersions +func (c *Imagebuilder) ListImageBuildVersions(input *ListImageBuildVersionsInput) (*ListImageBuildVersionsOutput, error) { + req, out := c.ListImageBuildVersionsRequest(input) + return out, req.Send() +} + +// ListImageBuildVersionsWithContext is the same as ListImageBuildVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListImageBuildVersions 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) ListImageBuildVersionsWithContext(ctx aws.Context, input *ListImageBuildVersionsInput, opts ...request.Option) (*ListImageBuildVersionsOutput, error) { + req, out := c.ListImageBuildVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImageBuildVersionsPages iterates over the pages of a ListImageBuildVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImageBuildVersions 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 ListImageBuildVersions operation. +// pageNum := 0 +// err := client.ListImageBuildVersionsPages(params, +// func(page *imagebuilder.ListImageBuildVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListImageBuildVersionsPages(input *ListImageBuildVersionsInput, fn func(*ListImageBuildVersionsOutput, bool) bool) error { + return c.ListImageBuildVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImageBuildVersionsPagesWithContext same as ListImageBuildVersionsPages 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) ListImageBuildVersionsPagesWithContext(ctx aws.Context, input *ListImageBuildVersionsInput, fn func(*ListImageBuildVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImageBuildVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImageBuildVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImageBuildVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImagePipelineImages = "ListImagePipelineImages" + +// ListImagePipelineImagesRequest generates a "aws/request.Request" representing the +// client's request for the ListImagePipelineImages 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 ListImagePipelineImages for more information on using the ListImagePipelineImages +// 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 ListImagePipelineImagesRequest method. +// req, resp := client.ListImagePipelineImagesRequest(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/ListImagePipelineImages +func (c *Imagebuilder) ListImagePipelineImagesRequest(input *ListImagePipelineImagesInput) (req *request.Request, output *ListImagePipelineImagesOutput) { + op := &request.Operation{ + Name: opListImagePipelineImages, + HTTPMethod: "POST", + HTTPPath: "/ListImagePipelineImages", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImagePipelineImagesInput{} + } + + output = &ListImagePipelineImagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImagePipelineImages API operation for EC2 Image Builder. +// +// Returns a list of images created by the specified 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 ListImagePipelineImages for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListImagePipelineImages +func (c *Imagebuilder) ListImagePipelineImages(input *ListImagePipelineImagesInput) (*ListImagePipelineImagesOutput, error) { + req, out := c.ListImagePipelineImagesRequest(input) + return out, req.Send() +} + +// ListImagePipelineImagesWithContext is the same as ListImagePipelineImages with the addition of +// the ability to pass a context and additional request options. +// +// See ListImagePipelineImages 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) ListImagePipelineImagesWithContext(ctx aws.Context, input *ListImagePipelineImagesInput, opts ...request.Option) (*ListImagePipelineImagesOutput, error) { + req, out := c.ListImagePipelineImagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImagePipelineImagesPages iterates over the pages of a ListImagePipelineImages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImagePipelineImages 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 ListImagePipelineImages operation. +// pageNum := 0 +// err := client.ListImagePipelineImagesPages(params, +// func(page *imagebuilder.ListImagePipelineImagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListImagePipelineImagesPages(input *ListImagePipelineImagesInput, fn func(*ListImagePipelineImagesOutput, bool) bool) error { + return c.ListImagePipelineImagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImagePipelineImagesPagesWithContext same as ListImagePipelineImagesPages 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) ListImagePipelineImagesPagesWithContext(ctx aws.Context, input *ListImagePipelineImagesInput, fn func(*ListImagePipelineImagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImagePipelineImagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImagePipelineImagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImagePipelineImagesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImagePipelines = "ListImagePipelines" + +// ListImagePipelinesRequest generates a "aws/request.Request" representing the +// client's request for the ListImagePipelines 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 ListImagePipelines for more information on using the ListImagePipelines +// 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 ListImagePipelinesRequest method. +// req, resp := client.ListImagePipelinesRequest(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/ListImagePipelines +func (c *Imagebuilder) ListImagePipelinesRequest(input *ListImagePipelinesInput) (req *request.Request, output *ListImagePipelinesOutput) { + op := &request.Operation{ + Name: opListImagePipelines, + HTTPMethod: "POST", + HTTPPath: "/ListImagePipelines", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImagePipelinesInput{} + } + + output = &ListImagePipelinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImagePipelines API operation for EC2 Image Builder. +// +// Returns a list of image pipelines. +// +// 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 ListImagePipelines for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListImagePipelines +func (c *Imagebuilder) ListImagePipelines(input *ListImagePipelinesInput) (*ListImagePipelinesOutput, error) { + req, out := c.ListImagePipelinesRequest(input) + return out, req.Send() +} + +// ListImagePipelinesWithContext is the same as ListImagePipelines with the addition of +// the ability to pass a context and additional request options. +// +// See ListImagePipelines 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) ListImagePipelinesWithContext(ctx aws.Context, input *ListImagePipelinesInput, opts ...request.Option) (*ListImagePipelinesOutput, error) { + req, out := c.ListImagePipelinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImagePipelinesPages iterates over the pages of a ListImagePipelines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImagePipelines 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 ListImagePipelines operation. +// pageNum := 0 +// err := client.ListImagePipelinesPages(params, +// func(page *imagebuilder.ListImagePipelinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListImagePipelinesPages(input *ListImagePipelinesInput, fn func(*ListImagePipelinesOutput, bool) bool) error { + return c.ListImagePipelinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImagePipelinesPagesWithContext same as ListImagePipelinesPages 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) ListImagePipelinesPagesWithContext(ctx aws.Context, input *ListImagePipelinesInput, fn func(*ListImagePipelinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImagePipelinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImagePipelinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImagePipelinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImageRecipes = "ListImageRecipes" + +// ListImageRecipesRequest generates a "aws/request.Request" representing the +// client's request for the ListImageRecipes 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 ListImageRecipes for more information on using the ListImageRecipes +// 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 ListImageRecipesRequest method. +// req, resp := client.ListImageRecipesRequest(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/ListImageRecipes +func (c *Imagebuilder) ListImageRecipesRequest(input *ListImageRecipesInput) (req *request.Request, output *ListImageRecipesOutput) { + op := &request.Operation{ + Name: opListImageRecipes, + HTTPMethod: "POST", + HTTPPath: "/ListImageRecipes", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImageRecipesInput{} + } + + output = &ListImageRecipesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImageRecipes API operation for EC2 Image Builder. +// +// Returns a list of image recipes. +// +// 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 ListImageRecipes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListImageRecipes +func (c *Imagebuilder) ListImageRecipes(input *ListImageRecipesInput) (*ListImageRecipesOutput, error) { + req, out := c.ListImageRecipesRequest(input) + return out, req.Send() +} + +// ListImageRecipesWithContext is the same as ListImageRecipes with the addition of +// the ability to pass a context and additional request options. +// +// See ListImageRecipes 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) ListImageRecipesWithContext(ctx aws.Context, input *ListImageRecipesInput, opts ...request.Option) (*ListImageRecipesOutput, error) { + req, out := c.ListImageRecipesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImageRecipesPages iterates over the pages of a ListImageRecipes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImageRecipes 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 ListImageRecipes operation. +// pageNum := 0 +// err := client.ListImageRecipesPages(params, +// func(page *imagebuilder.ListImageRecipesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListImageRecipesPages(input *ListImageRecipesInput, fn func(*ListImageRecipesOutput, bool) bool) error { + return c.ListImageRecipesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImageRecipesPagesWithContext same as ListImageRecipesPages 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) ListImageRecipesPagesWithContext(ctx aws.Context, input *ListImageRecipesInput, fn func(*ListImageRecipesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImageRecipesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImageRecipesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImageRecipesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImages = "ListImages" + +// ListImagesRequest generates a "aws/request.Request" representing the +// client's request for the ListImages 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 ListImages for more information on using the ListImages +// 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 ListImagesRequest method. +// req, resp := client.ListImagesRequest(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/ListImages +func (c *Imagebuilder) ListImagesRequest(input *ListImagesInput) (req *request.Request, output *ListImagesOutput) { + op := &request.Operation{ + Name: opListImages, + HTTPMethod: "POST", + HTTPPath: "/ListImages", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImagesInput{} + } + + output = &ListImagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImages API operation for EC2 Image Builder. +// +// Returns the list of image build versions for the specified semantic 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 ListImages for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListImages +func (c *Imagebuilder) ListImages(input *ListImagesInput) (*ListImagesOutput, error) { + req, out := c.ListImagesRequest(input) + return out, req.Send() +} + +// ListImagesWithContext is the same as ListImages with the addition of +// the ability to pass a context and additional request options. +// +// See ListImages 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) ListImagesWithContext(ctx aws.Context, input *ListImagesInput, opts ...request.Option) (*ListImagesOutput, error) { + req, out := c.ListImagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImagesPages iterates over the pages of a ListImages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImages 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 ListImages operation. +// pageNum := 0 +// err := client.ListImagesPages(params, +// func(page *imagebuilder.ListImagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListImagesPages(input *ListImagesInput, fn func(*ListImagesOutput, bool) bool) error { + return c.ListImagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImagesPagesWithContext same as ListImagesPages 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) ListImagesPagesWithContext(ctx aws.Context, input *ListImagesInput, fn func(*ListImagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImagesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListInfrastructureConfigurations = "ListInfrastructureConfigurations" + +// ListInfrastructureConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListInfrastructureConfigurations 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 ListInfrastructureConfigurations for more information on using the ListInfrastructureConfigurations +// 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 ListInfrastructureConfigurationsRequest method. +// req, resp := client.ListInfrastructureConfigurationsRequest(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/ListInfrastructureConfigurations +func (c *Imagebuilder) ListInfrastructureConfigurationsRequest(input *ListInfrastructureConfigurationsInput) (req *request.Request, output *ListInfrastructureConfigurationsOutput) { + op := &request.Operation{ + Name: opListInfrastructureConfigurations, + HTTPMethod: "POST", + HTTPPath: "/ListInfrastructureConfigurations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInfrastructureConfigurationsInput{} + } + + output = &ListInfrastructureConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInfrastructureConfigurations API operation for EC2 Image Builder. +// +// Returns a list of infrastructure configurations. +// +// 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 ListInfrastructureConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidPaginationTokenException "InvalidPaginationTokenException" +// You have provided an invalid pagination token in your request. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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/ListInfrastructureConfigurations +func (c *Imagebuilder) ListInfrastructureConfigurations(input *ListInfrastructureConfigurationsInput) (*ListInfrastructureConfigurationsOutput, error) { + req, out := c.ListInfrastructureConfigurationsRequest(input) + return out, req.Send() +} + +// ListInfrastructureConfigurationsWithContext is the same as ListInfrastructureConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListInfrastructureConfigurations 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) ListInfrastructureConfigurationsWithContext(ctx aws.Context, input *ListInfrastructureConfigurationsInput, opts ...request.Option) (*ListInfrastructureConfigurationsOutput, error) { + req, out := c.ListInfrastructureConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInfrastructureConfigurationsPages iterates over the pages of a ListInfrastructureConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInfrastructureConfigurations 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 ListInfrastructureConfigurations operation. +// pageNum := 0 +// err := client.ListInfrastructureConfigurationsPages(params, +// func(page *imagebuilder.ListInfrastructureConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Imagebuilder) ListInfrastructureConfigurationsPages(input *ListInfrastructureConfigurationsInput, fn func(*ListInfrastructureConfigurationsOutput, bool) bool) error { + return c.ListInfrastructureConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInfrastructureConfigurationsPagesWithContext same as ListInfrastructureConfigurationsPages 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) ListInfrastructureConfigurationsPagesWithContext(ctx aws.Context, input *ListInfrastructureConfigurationsInput, fn func(*ListInfrastructureConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInfrastructureConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInfrastructureConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInfrastructureConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResource +func (c *Imagebuilder) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for EC2 Image Builder. +// +// Returns the list of tags for the specified 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 ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeResourceNotFoundException "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/ListTagsForResource +func (c *Imagebuilder) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Imagebuilder) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const 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 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 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/PutComponentPolicy +func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) (req *request.Request, output *PutComponentPolicyOutput) { + op := &request.Operation{ + Name: opPutComponentPolicy, + HTTPMethod: "PUT", + HTTPPath: "/PutComponentPolicy", + } + + if input == nil { + input = &PutComponentPolicyInput{} + } + + output = &PutComponentPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutComponentPolicy API operation for EC2 Image Builder. +// +// Applies a policy to a component. +// +// 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. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value that you provided for the specified parameter is invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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) + return out, req.Send() +} + +// PutComponentPolicyWithContext is the same as PutComponentPolicy 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. +// +// 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) + 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. +// +// 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 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/PutImagePolicy +func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *request.Request, output *PutImagePolicyOutput) { + op := &request.Operation{ + Name: opPutImagePolicy, + HTTPMethod: "PUT", + HTTPPath: "/PutImagePolicy", + } + + if input == nil { + input = &PutImagePolicyInput{} + } + + output = &PutImagePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutImagePolicy API operation for EC2 Image Builder. +// +// Applies a policy to 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 PutImagePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value that you provided for the specified parameter is invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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) + return out, req.Send() +} + +// PutImagePolicyWithContext is the same as PutImagePolicy 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. +// +// 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) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutImageRecipePolicy = "PutImageRecipePolicy" + +// 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 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 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/PutImageRecipePolicy +func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyInput) (req *request.Request, output *PutImageRecipePolicyOutput) { + op := &request.Operation{ + Name: opPutImageRecipePolicy, + HTTPMethod: "PUT", + HTTPPath: "/PutImageRecipePolicy", + } + + if input == nil { + input = &PutImageRecipePolicyInput{} + } + + output = &PutImageRecipePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutImageRecipePolicy API operation for EC2 Image Builder. +// +// Applies a policy to an image recipe. +// +// 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 PutImageRecipePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value that you provided for the specified parameter is invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "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() +} + +// PutImageRecipePolicyWithContext is the same as PutImageRecipePolicy 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. +// +// 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) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartImagePipelineExecution = "StartImagePipelineExecution" + +// 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 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 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/StartImagePipelineExecution +func (c *Imagebuilder) StartImagePipelineExecutionRequest(input *StartImagePipelineExecutionInput) (req *request.Request, output *StartImagePipelineExecutionOutput) { + op := &request.Operation{ + Name: opStartImagePipelineExecution, + HTTPMethod: "PUT", + HTTPPath: "/StartImagePipelineExecution", + } + + if input == nil { + input = &StartImagePipelineExecutionInput{} + } + + output = &StartImagePipelineExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartImagePipelineExecution API operation for EC2 Image Builder. +// +// 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 StartImagePipelineExecution for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// At least one of the resources referenced by your request does not exist. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "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) + return out, req.Send() +} + +// StartImagePipelineExecutionWithContext is the same as StartImagePipelineExecution 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. +// +// 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) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource +func (c *Imagebuilder) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for EC2 Image Builder. +// +// 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 TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeResourceNotFoundException "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) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *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. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/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 Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeResourceNotFoundException "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() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *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 opUpdateDistributionConfiguration = "UpdateDistributionConfiguration" + +// 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 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 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/UpdateDistributionConfiguration +func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistributionConfigurationInput) (req *request.Request, output *UpdateDistributionConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateDistributionConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/UpdateDistributionConfiguration", + } + + if input == nil { + input = &UpdateDistributionConfigurationInput{} + } + + output = &UpdateDistributionConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDistributionConfiguration API operation for EC2 Image Builder. +// +// 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 UpdateDistributionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource that you are trying to operate on is currently in use. Review +// the message details, and retry later. +// +// * ErrCodeInvalidParameterCombinationException "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) + return out, req.Send() +} + +// UpdateDistributionConfigurationWithContext is the same as UpdateDistributionConfiguration 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. +// +// 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) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateImagePipeline = "UpdateImagePipeline" + +// 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. +// +// 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 +// 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 a new image pipeline. Image pipelines enable you to automate the +// creation and distribution of images. +// +// 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 Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "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 Codes: +// * ErrCodeServiceException "ServiceException" +// This exception is thrown when the service encounters an unrecoverable exception. +// +// * ErrCodeClientException "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. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unable to process your request at this time. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// You have made a request for an action that is not supported by the service. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// You have specified an client token for an operation using parameter values +// that differ from a previous request that used the same client token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You are not authorized to perform the requested operation. +// +// * ErrCodeCallRateLimitExceededException "CallRateLimitExceededException" +// You have exceeded the permitted request rate for the specific operation. +// +// * ErrCodeResourceInUseException "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() +} + +// Details of an EC2 AMI. +type Ami struct { + _ struct{} `type:"structure"` + + // The description of the EC2 AMI. + Description *string `locationName:"description" min:"1" type:"string"` + + // The AMI ID of the EC2 AMI. + Image *string `locationName:"image" min:"1" type:"string"` + + // The name of the EC2 AMI. + Name *string `locationName:"name" min:"1" type:"string"` + + // The region of the EC2 AMI. + Region *string `locationName:"region" min:"1" type:"string"` + + // Image state shows the images status and the reason for that status. + State *ImageState `locationName:"state" type:"structure"` +} + +// String returns the string representation +func (s Ami) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ami) GoString() string { + return s.String() +} + +// 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 outputs 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 distribution configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // Launch permissions can be used to configure which AWS accounts can use the + // AMI to launch instances. + LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"` + + // The name of the distribution configuration. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation +func (s AmiDistributionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + 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 +} + +// 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 +} + +type CancelImageCreationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + // + // ClientToken is a required field + ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the image whose creation you wish to cancel. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelImageCreationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 { + invalidParams.Add(request.NewErrParamRequired("ClientToken")) + } + 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 idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image whose creation has been cancelled. + 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 +func (s CancelImageCreationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// 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"` + + // The change description of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // The data of the component. + Data *string `locationName:"data" 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 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"` + + // 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"` + + // The tags associated with the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // 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 version of the component. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s Component) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// SetOwner sets the Owner field's value. +func (s *Component) SetOwner(v string) *Component { + s.Owner = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Component) SetPlatform(v string) *Component { + s.Platform = &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"` +} + +// String returns the string representation +func (s ComponentConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 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 +} + +// 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 of the component. + ChangeDescription *string `locationName:"changeDescription" min:"1" 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"` + + // The tags associated with the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // 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 version of the component. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ComponentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// 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 +} + +// 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 +} + +// A high level overview of a component semantic version. +type ComponentVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component. + 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"` + + // 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. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ComponentVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// 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 +} + +type CreateComponentInput struct { + _ struct{} `type:"structure"` + + // CThe change description of the component. Describes what change has been + // made in this version. In other words what makes this version different from + // other versions of this component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // CThe idempotency token of the component. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // CThe data of the component. + Data *string `locationName:"data" min:"1" type:"string"` + + // CThe description of the component. Describes the contents of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The ID of the KMS key that should be 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"` + + // CThe 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 to follow the semantic + // version syntax. i.e. major.minor.patch. This could be versioned like software + // 2.0.1 or date like 2019.12.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // CThe tags of the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // CThe uri of the component. + Uri *string `locationName:"uri" type:"string"` +} + +// String returns the string representation +func (s CreateComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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.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 +} + +// 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 +} + +// 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 + return s +} + +type CreateComponentOutput struct { + _ struct{} `type:"structure"` + + // CThe idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // CThe Amazon Resource Name (ARN) of the component that was created by this + // request. + ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"` + + // CThe request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateComponentOutput) 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 { + s.ComponentBuildVersionArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateComponentOutput) SetRequestId(v string) *CreateComponentOutput { + s.RequestId = &v + return s +} + +type CreateDistributionConfigurationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token of the distribution configuration. + 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"` + + // 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 +func (s CreateDistributionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDistributionConfigurationInput) 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)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + 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 + return s +} + +type CreateDistributionConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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 request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDistributionConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDistributionConfigurationOutput) 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 + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDistributionConfigurationOutput) SetRequestId(v string) *CreateDistributionConfigurationOutput { + s.RequestId = &v + return s +} + +type CreateImageInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the distribution configuration that defines + // and configures the outputs of your pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // The Amazon Resource Name (ARN) of the image recipe that defines how images + // are configured, tested and assessed. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string" required:"true"` + + // 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. + // + // 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"` +} + +// String returns the string representation +func (s CreateImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageInput) 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.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) + } + 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.ImageTestsConfiguration != nil { + if err := s.ImageTestsConfiguration.Validate(); err != nil { + invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateImageInput) SetClientToken(v string) *CreateImageInput { + s.ClientToken = &v + return s +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *CreateImageInput) SetDistributionConfigurationArn(v string) *CreateImageInput { + s.DistributionConfigurationArn = &v + return s +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *CreateImageInput) SetImageRecipeArn(v string) *CreateImageInput { + s.ImageRecipeArn = &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 { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image that was created by this request. + 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 +func (s CreateImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageOutput) 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 + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateImageOutput) SetRequestId(v string) *CreateImageOutput { + s.RequestId = &v + return s +} + +type CreateImagePipelineInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // 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"` + + // The Amazon Resource Name (ARN) of the image recipe that will be used to configure + // images created by this image pipeline. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string" required:"true"` + + // The image test configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // 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"` + + // 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"` +} + +// String returns the string representation +func (s CreateImagePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImagePipelineInput) 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)) + } + if s.ImageRecipeArn == nil { + invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn")) + } + 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.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 + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateImagePipelineInput) SetClientToken(v string) *CreateImagePipelineInput { + s.ClientToken = &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 +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *CreateImagePipelineInput) SetImageRecipeArn(v string) *CreateImagePipelineInput { + s.ImageRecipeArn = &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 { + 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 { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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 request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateImagePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImagePipelineOutput) 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"` + + // The block device mappings of the image recipe. + BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The components of 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 parent image of the image recipe. + // + // ParentImage is a required field + ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"` + + // The semantic version of the image recipe. + // + // 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"` +} + +// String returns the string representation +func (s CreateImageRecipeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageRecipeInput) 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.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 +} + +// 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 *CreateImageRecipeInput) SetDescription(v string) *CreateImageRecipeInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateImageRecipeInput) SetName(v string) *CreateImageRecipeInput { + s.Name = &v + return s +} + +// SetParentImage sets the ParentImage field's value. +func (s *CreateImageRecipeInput) SetParentImage(v string) *CreateImageRecipeInput { + s.ParentImage = &v + return s +} + +// 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 +} + +type CreateImageRecipeOutput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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"` +} + +// String returns the string representation +func (s CreateImageRecipeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageRecipeOutput) 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 + return s +} + +type CreateInfrastructureConfigurationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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 profile to associate with the instance used to customize your + // 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 may 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. This can be used to log + // onto 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 security group IDs to associate with the instance used to customize your + // EC2 AMI. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The SNS topic on which to send image build events. + SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"` + + // The subnet ID to place the instance used to customize your EC2 AMI in. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + + // The tags of the infrastructure configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The terminate instance on failure setting of the infrastructure configuration. + // Set to false if you wish for Image Builder to retain the instance used to + // configure your AMI in the event that the build or test phase of your workflow + // failed. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` +} + +// String returns the string representation +func (s CreateInfrastructureConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInfrastructureConfigurationInput) 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)) + } + 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.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 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.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 +} + +// SetDescription sets the Description field's value. +func (s *CreateInfrastructureConfigurationInput) SetDescription(v string) *CreateInfrastructureConfigurationInput { + s.Description = &v + return s +} + +// 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 *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfrastructureConfigurationInput { + s.Name = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput { + s.SecurityGroupIds = v + return s +} + +// 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 +} + +// 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 idempotency token used to make this request idempotent. + 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"` +} + +// String returns the string representation +func (s CreateInfrastructureConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInfrastructureConfigurationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateInfrastructureConfigurationOutput) SetClientToken(v string) *CreateInfrastructureConfigurationOutput { + s.ClientToken = &v + return s +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *CreateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *CreateInfrastructureConfigurationOutput { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateInfrastructureConfigurationOutput) SetRequestId(v string) *CreateInfrastructureConfigurationOutput { + s.RequestId = &v + return s +} + +type DeleteComponentInput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s DeleteComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteComponentInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *DeleteComponentInput) SetComponentBuildVersionArn(v string) *DeleteComponentInput { + s.ComponentBuildVersionArn = &v + return s +} + +type DeleteComponentOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component build version that was deleted. + 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 +func (s DeleteComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteComponentOutput) GoString() string { + return s.String() +} + +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *DeleteComponentOutput) SetComponentBuildVersionArn(v string) *DeleteComponentOutput { + s.ComponentBuildVersionArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteComponentOutput) SetRequestId(v string) *DeleteComponentOutput { + s.RequestId = &v + return s +} + +type DeleteDistributionConfigurationInput struct { + _ struct{} `type:"structure"` + + // 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 +func (s DeleteDistributionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionConfigurationInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *DeleteDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationInput { + s.DistributionConfigurationArn = &v + return s +} + +type DeleteDistributionConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the distribution configuration that was + // deleted. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteDistributionConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionConfigurationOutput) GoString() string { + return s.String() +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *DeleteDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationOutput { + s.DistributionConfigurationArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteDistributionConfigurationOutput) SetRequestId(v string) *DeleteDistributionConfigurationOutput { + s.RequestId = &v + return s +} + +type DeleteImageInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image to delete. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *DeleteImageInput) SetImageBuildVersionArn(v string) *DeleteImageInput { + s.ImageBuildVersionArn = &v + return s +} + +type DeleteImageOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image that was deleted. + 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 +func (s DeleteImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageOutput) GoString() string { + return s.String() +} + +// 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 *DeleteImageOutput) SetRequestId(v string) *DeleteImageOutput { + s.RequestId = &v + return s +} + +type DeleteImagePipelineInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image pipeline to delete. + // + // ImagePipelineArn is a required field + ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImagePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImagePipelineInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *DeleteImagePipelineInput) SetImagePipelineArn(v string) *DeleteImagePipelineInput { + s.ImagePipelineArn = &v + return s +} + +type DeleteImagePipelineOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s DeleteImagePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImagePipelineOutput) GoString() string { + return s.String() +} + +// 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 *DeleteImagePipelineOutput) SetRequestId(v string) *DeleteImagePipelineOutput { + s.RequestId = &v + return s +} + +type DeleteImageRecipeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe to delete. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImageRecipeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageRecipeInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *DeleteImageRecipeInput) SetImageRecipeArn(v string) *DeleteImageRecipeInput { + s.ImageRecipeArn = &v + return s +} + +type DeleteImageRecipeOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s DeleteImageRecipeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageRecipeOutput) GoString() string { + return s.String() +} + +// 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 *DeleteImageRecipeOutput) SetRequestId(v string) *DeleteImageRecipeOutput { + s.RequestId = &v + return s +} + +type DeleteInfrastructureConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration to delete. + // + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInfrastructureConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInfrastructureConfigurationInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *DeleteInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationInput { + s.InfrastructureConfigurationArn = &v + return s +} + +type DeleteInfrastructureConfigurationOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s DeleteInfrastructureConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInfrastructureConfigurationOutput) GoString() string { + return s.String() +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *DeleteInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationOutput { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteInfrastructureConfigurationOutput) SetRequestId(v string) *DeleteInfrastructureConfigurationOutput { + s.RequestId = &v + return s +} + +type Distribution struct { + _ struct{} `type:"structure"` + + // Define and configure the outputs AMIs of the pipeline. + AmiDistributionConfiguration *AmiDistributionConfiguration `locationName:"amiDistributionConfiguration" type:"structure"` + + LicenseConfigurationArns []*string `locationName:"licenseConfigurationArns" type:"list"` + + // Region is a required field + Region *string `locationName:"region" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Distribution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Distribution) 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.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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmiDistributionConfiguration sets the AmiDistributionConfiguration field's value. +func (s *Distribution) SetAmiDistributionConfiguration(v *AmiDistributionConfiguration) *Distribution { + s.AmiDistributionConfiguration = v + return s +} + +// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value. +func (s *Distribution) SetLicenseConfigurationArns(v []*string) *Distribution { + s.LicenseConfigurationArns = v + return s +} + +// SetRegion sets the Region field's value. +func (s *Distribution) SetRegion(v string) *Distribution { + s.Region = &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 distributions of the distribution configuration. + 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 +func (s DistributionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// SetDateCreated sets the DateCreated field's value. +func (s *DistributionConfiguration) SetDateCreated(v string) *DistributionConfiguration { + s.DateCreated = &v + return s +} + +// SetDateUpdated sets the DateUpdated field's value. +func (s *DistributionConfiguration) SetDateUpdated(v string) *DistributionConfiguration { + s.DateUpdated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DistributionConfiguration) SetDescription(v string) *DistributionConfiguration { + s.Description = &v + return s +} + +// 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 *DistributionConfiguration) SetTags(v map[string]*string) *DistributionConfiguration { + s.Tags = v + return s +} + +// SetTimeoutMinutes sets the TimeoutMinutes field's value. +func (s *DistributionConfiguration) SetTimeoutMinutes(v int64) *DistributionConfiguration { + s.TimeoutMinutes = &v + return s +} + +// A high level overview 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"` + + // The tags associated with the distribution configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s DistributionConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfigurationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DistributionConfigurationSummary) SetArn(v string) *DistributionConfigurationSummary { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *DistributionConfigurationSummary) SetDateCreated(v string) *DistributionConfigurationSummary { + s.DateCreated = &v + return s +} + +// SetDateUpdated sets the DateUpdated field's value. +func (s *DistributionConfigurationSummary) SetDateUpdated(v string) *DistributionConfigurationSummary { + s.DateUpdated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DistributionConfigurationSummary) SetDescription(v string) *DistributionConfigurationSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *DistributionConfigurationSummary) SetName(v string) *DistributionConfigurationSummary { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DistributionConfigurationSummary) SetTags(v map[string]*string) *DistributionConfigurationSummary { + s.Tags = v + return s +} + +// 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"` + + // 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 +func (s EbsInstanceBlockDeviceSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EbsInstanceBlockDeviceSpecification) 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.VolumeSize != nil && *s.VolumeSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification { + s.DeleteOnTermination = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetEncrypted(v bool) *EbsInstanceBlockDeviceSpecification { + s.Encrypted = &v + return s +} + +// SetIops sets the Iops field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetIops(v int64) *EbsInstanceBlockDeviceSpecification { + s.Iops = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetKmsKeyId(v string) *EbsInstanceBlockDeviceSpecification { + s.KmsKeyId = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetSnapshotId(v string) *EbsInstanceBlockDeviceSpecification { + s.SnapshotId = &v + return s +} + +// SetVolumeSize sets the VolumeSize field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetVolumeSize(v int64) *EbsInstanceBlockDeviceSpecification { + s.VolumeSize = &v + return s +} + +// SetVolumeType sets the VolumeType field's value. +func (s *EbsInstanceBlockDeviceSpecification) SetVolumeType(v string) *EbsInstanceBlockDeviceSpecification { + s.VolumeType = &v + return s +} + +type Filter struct { + _ struct{} `type:"structure"` + + Name *string `locationName:"name" type:"string"` + + Values []*string `locationName:"values" min:"1" type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) 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 +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +type GetComponentInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component that you wish to retrieve. + // + // ComponentBuildVersionArn is a required field + ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *GetComponentInput) SetComponentBuildVersionArn(v string) *GetComponentInput { + s.ComponentBuildVersionArn = &v + return s +} + +type GetComponentOutput 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"` +} + +// String returns the string representation +func (s GetComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentOutput) 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 + return s +} + +type GetComponentPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component whose policy you wish to + // retrieve. + // + // ComponentArn is a required field + ComponentArn *string `location:"querystring" locationName:"componentArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetComponentPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentPolicyInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentArn sets the ComponentArn field's value. +func (s *GetComponentPolicyInput) SetComponentArn(v string) *GetComponentPolicyInput { + s.ComponentArn = &v + return s +} + +type GetComponentPolicyOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s GetComponentPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetComponentPolicyOutput) GoString() string { + return s.String() +} + +// 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 *GetComponentPolicyOutput) SetRequestId(v string) *GetComponentPolicyOutput { + s.RequestId = &v + return s +} + +type GetDistributionConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the distribution configuration that you + // wish to retrieve. + // + // DistributionConfigurationArn is a required field + DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDistributionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDistributionConfigurationInput) GoString() string { + return s.String() +} + +// 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *GetDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *GetDistributionConfigurationInput { + s.DistributionConfigurationArn = &v + return s +} + +type GetDistributionConfigurationOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s GetDistributionConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDistributionConfigurationOutput) GoString() string { + return s.String() +} + +// 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 *GetDistributionConfigurationOutput) SetRequestId(v string) *GetDistributionConfigurationOutput { + s.RequestId = &v + return s +} + +type GetImageInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image that you wish to retrieve. + // + // ImageBuildVersionArn is a required field + ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageInput) 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 +} + +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *GetImageInput) SetImageBuildVersionArn(v string) *GetImageInput { + s.ImageBuildVersionArn = &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"` +} + +// String returns the string representation +func (s GetImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageOutput) GoString() string { + return s.String() +} + +// SetImage sets the Image field's value. +func (s *GetImageOutput) SetImage(v *Image) *GetImageOutput { + s.Image = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetImageOutput) SetRequestId(v string) *GetImageOutput { + s.RequestId = &v + return s +} + +type GetImagePipelineInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image pipeline that you wish to retrieve. + // + // ImagePipelineArn is a required field + ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImagePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImagePipelineInput) GoString() string { + return s.String() +} + +// 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *GetImagePipelineInput) SetImagePipelineArn(v string) *GetImagePipelineInput { + s.ImagePipelineArn = &v + return s +} + +type GetImagePipelineOutput struct { + _ struct{} `type:"structure"` + + // 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"` +} + +// String returns the string representation +func (s GetImagePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImagePipelineOutput) GoString() string { + return s.String() +} + +// SetImagePipeline sets the ImagePipeline field's value. +func (s *GetImagePipelineOutput) SetImagePipeline(v *ImagePipeline) *GetImagePipelineOutput { + s.ImagePipeline = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetImagePipelineOutput) SetRequestId(v string) *GetImagePipelineOutput { + s.RequestId = &v + return s +} + +type GetImagePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image whose policy you wish to retrieve. + // + // ImageArn is a required field + ImageArn *string `location:"querystring" locationName:"imageArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImagePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImagePolicyInput) GoString() string { + return s.String() +} + +// 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageArn sets the ImageArn field's value. +func (s *GetImagePolicyInput) SetImageArn(v string) *GetImagePolicyInput { + s.ImageArn = &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"` +} + +// String returns the string representation +func (s GetImagePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImagePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetImagePolicyOutput) SetPolicy(v string) *GetImagePolicyOutput { + s.Policy = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetImagePolicyOutput) SetRequestId(v string) *GetImagePolicyOutput { + s.RequestId = &v + return s +} + +type GetImageRecipeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe that you wish to retrieve. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImageRecipeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageRecipeInput) 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 +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *GetImageRecipeInput) SetImageRecipeArn(v string) *GetImageRecipeInput { + s.ImageRecipeArn = &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"` +} + +// String returns the string representation +func (s GetImageRecipeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageRecipeOutput) GoString() string { + return s.String() +} + +// SetImageRecipe sets the ImageRecipe field's value. +func (s *GetImageRecipeOutput) SetImageRecipe(v *ImageRecipe) *GetImageRecipeOutput { + s.ImageRecipe = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetImageRecipeOutput) SetRequestId(v string) *GetImageRecipeOutput { + s.RequestId = &v + return s +} + +type GetImageRecipePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image recipe whose policy you wish + // to retrieve. + // + // ImageRecipeArn is a required field + ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImageRecipePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageRecipePolicyInput) GoString() string { + return s.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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *GetImageRecipePolicyInput) SetImageRecipeArn(v string) *GetImageRecipePolicyInput { + s.ImageRecipeArn = &v + return s +} + +type GetImageRecipePolicyOutput struct { + _ struct{} `type:"structure"` + + // The image recipe 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"` +} + +// String returns the string representation +func (s GetImageRecipePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImageRecipePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetImageRecipePolicyOutput) SetPolicy(v string) *GetImageRecipePolicyOutput { + s.Policy = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetImageRecipePolicyOutput) SetRequestId(v string) *GetImageRecipePolicyOutput { + s.RequestId = &v + return s +} + +// GetInfrastructureConfiguration request object. +type GetInfrastructureConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that you + // wish to retrieve. + // + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetInfrastructureConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInfrastructureConfigurationInput) GoString() string { + return s.String() +} + +// 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *GetInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *GetInfrastructureConfigurationInput { + s.InfrastructureConfigurationArn = &v + return s +} + +// GetInfrastructureConfiguration response object. +type GetInfrastructureConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The infrastructure configuration object. + InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetInfrastructureConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInfrastructureConfigurationOutput) GoString() string { + return s.String() +} + +// 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 +} + +// An image build version. +type Image struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image. + Arn *string `locationName:"arn" type:"string"` + + // The date on which this image was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The distribution configuration used when creating this image. + DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"` + + // The image recipe used when creating the image. + ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"` + + // The image tests configuration used when creating this image. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The infrastructure used when creating this image. + InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"` + + // The name of the image. + Name *string `locationName:"name" type:"string"` + + // The output resources produced when creating this image. + OutputResources *OutputResources `locationName:"outputResources" type:"structure"` + + // The platform of the image. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // 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"` + + // The tags of the image. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The semantic version of the image. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s Image) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Image) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Image) SetArn(v string) *Image { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *Image) SetDateCreated(v string) *Image { + s.DateCreated = &v + return s +} + +// SetDistributionConfiguration sets the DistributionConfiguration field's value. +func (s *Image) SetDistributionConfiguration(v *DistributionConfiguration) *Image { + s.DistributionConfiguration = v + return s +} + +// SetImageRecipe sets the ImageRecipe field's value. +func (s *Image) SetImageRecipe(v *ImageRecipe) *Image { + s.ImageRecipe = 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 +} + +// SetName sets the Name field's value. +func (s *Image) SetName(v string) *Image { + s.Name = &v + return s +} + +// SetOutputResources sets the OutputResources field's value. +func (s *Image) SetOutputResources(v *OutputResources) *Image { + s.OutputResources = v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Image) SetPlatform(v string) *Image { + s.Platform = &v + return s +} + +// SetSourcePipelineArn sets the SourcePipelineArn field's value. +func (s *Image) SetSourcePipelineArn(v string) *Image { + s.SourcePipelineArn = &v + return s +} + +// SetSourcePipelineName sets the SourcePipelineName field's value. +func (s *Image) SetSourcePipelineName(v string) *Image { + s.SourcePipelineName = &v + return s +} + +// SetState sets the State field's value. +func (s *Image) SetState(v *ImageState) *Image { + s.State = v + return s +} + +// SetTags sets the Tags field's value. +func (s *Image) SetTags(v map[string]*string) *Image { + s.Tags = v + return s +} + +// SetVersion sets the Version field's value. +func (s *Image) SetVersion(v string) *Image { + s.Version = &v + return s +} + +// Details of an image pipeline. +type ImagePipeline struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image pipeline. + Arn *string `locationName:"arn" type:"string"` + + // The date on which this image pipeline was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The date on which this image pipeline was last run. + DateLastRun *string `locationName:"dateLastRun" type:"string"` + + // The date on which this image pipeline will next be run. + DateNextRun *string `locationName:"dateNextRun" type:"string"` + + // The date on which this image pipeline was last updated. + DateUpdated *string `locationName:"dateUpdated" 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 associated + // with this image pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // The Amazon Resource Name (ARN) of the image recipe associated with this image + // pipeline. + ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"` + + // The image tests configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastruction 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"` + + // 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 this image pipeline. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s ImagePipeline) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImagePipeline) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ImagePipeline) SetArn(v string) *ImagePipeline { + s.Arn = &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 +} + +// SetDescription sets the Description field's value. +func (s *ImagePipeline) SetDescription(v string) *ImagePipeline { + s.Description = &v + return s +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *ImagePipeline) SetDistributionConfigurationArn(v string) *ImagePipeline { + s.DistributionConfigurationArn = &v + return s +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *ImagePipeline) SetImageRecipeArn(v string) *ImagePipeline { + s.ImageRecipeArn = &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 *ImagePipeline) SetInfrastructureConfigurationArn(v string) *ImagePipeline { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImagePipeline) SetName(v string) *ImagePipeline { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImagePipeline) SetPlatform(v string) *ImagePipeline { + s.Platform = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ImagePipeline) SetSchedule(v *Schedule) *ImagePipeline { + s.Schedule = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImagePipeline) SetStatus(v string) *ImagePipeline { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImagePipeline) SetTags(v map[string]*string) *ImagePipeline { + s.Tags = v + return s +} + +// An image recipe. +type ImageRecipe struct { + _ struct{} `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 of the image recipe. + 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 parent 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"` + + // The version of the image recipe. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ImageRecipe) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageRecipe) GoString() string { + return s.String() +} + +// 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 +} + +// SetComponents sets the Components field's value. +func (s *ImageRecipe) SetComponents(v []*ComponentConfiguration) *ImageRecipe { + s.Components = v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ImageRecipe) SetDateCreated(v string) *ImageRecipe { + s.DateCreated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ImageRecipe) SetDescription(v string) *ImageRecipe { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImageRecipe) SetName(v string) *ImageRecipe { + 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 + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImageRecipe) SetPlatform(v string) *ImageRecipe { + 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 +} + +// SetVersion sets the Version field's value. +func (s *ImageRecipe) SetVersion(v string) *ImageRecipe { + s.Version = &v + return s +} + +// 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 parent 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 +func (s ImageRecipeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageRecipeSummary) 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 + return s +} + +// 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 +} + +// Image state shows the images status and the reason for that status. +type ImageState struct { + _ struct{} `type:"structure"` + + // The reason for the image's status. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The status of the image. + Status *string `locationName:"status" type:"string" enum:"ImageStatus"` +} + +// String returns the string representation +func (s ImageState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageState) GoString() string { + return s.String() +} + +// SetReason sets the Reason field's value. +func (s *ImageState) SetReason(v string) *ImageState { + s.Reason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImageState) SetStatus(v string) *ImageState { + s.Status = &v + return s +} + +// An image summary. +type ImageSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image. + Arn *string `locationName:"arn" type:"string"` + + // The date on which this image was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The name of the image. + Name *string `locationName:"name" type:"string"` + + // The output resources produced when creating this image. + OutputResources *OutputResources `locationName:"outputResources" type:"structure"` + + // The owner of the image. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The platform of the image. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // The state of the image. + State *ImageState `locationName:"state" type:"structure"` + + // The tags of the image. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The version of the image. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ImageSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ImageSummary) SetArn(v string) *ImageSummary { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ImageSummary) SetDateCreated(v string) *ImageSummary { + s.DateCreated = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImageSummary) SetName(v string) *ImageSummary { + s.Name = &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 +} + +// SetTags sets the Tags field's value. +func (s *ImageSummary) SetTags(v map[string]*string) *ImageSummary { + s.Tags = v + return s +} + +// SetVersion sets the Version field's value. +func (s *ImageSummary) SetVersion(v string) *ImageSummary { + s.Version = &v + return s +} + +// Image tests configuration. +type ImageTestsConfiguration struct { + _ struct{} `type:"structure"` + + // Defines if tests should be executed when building this image. + ImageTestsEnabled *bool `locationName:"imageTestsEnabled" type:"boolean"` + + // The maximum time in minutes that tests are permitted to run for. + TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"60" type:"integer"` +} + +// String returns the string representation +func (s ImageTestsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// An image semantic version. +type ImageVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image semantic verion. + Arn *string `locationName:"arn" type:"string"` + + // The date at which this image semantic version was created. + DateCreated *string `locationName:"dateCreated" type:"string"` + + // The name of the image semantic version. + Name *string `locationName:"name" type:"string"` + + // The owner of the image semantic version. + Owner *string `locationName:"owner" min:"1" type:"string"` + + // The platform of the image semantic version. + Platform *string `locationName:"platform" type:"string" enum:"Platform"` + + // The semantic version of the image semantic version. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ImageVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ImageVersion) SetArn(v string) *ImageVersion { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *ImageVersion) SetDateCreated(v string) *ImageVersion { + s.DateCreated = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImageVersion) SetName(v string) *ImageVersion { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ImageVersion) SetOwner(v string) *ImageVersion { + s.Owner = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImageVersion) SetPlatform(v string) *ImageVersion { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ImageVersion) SetVersion(v string) *ImageVersion { + s.Version = &v + return s +} + +type ImportComponentInput struct { + _ struct{} `type:"structure"` + + // The change description of the component. Describes what change has been made + // in this version. In other words what makes this version different from other + // versions of this component. + ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"` + + // The idempotency token of the component. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The data of the component. + Data *string `locationName:"data" min:"1" type:"string"` + + // The description of the component. Describes the contents of the component. + Description *string `locationName:"description" min:"1" type:"string"` + + // The format of the resource that you wish to import as a component. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"ComponentFormat"` + + // The ID of the KMS key that should be 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 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 to follow the semantic + // version syntax. i.e. major.minor.patch. This could be versioned like software + // 2.0.1 or date like 2019.12.01. + // + // SemanticVersion is a required field + SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + + // The tags of the component. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // 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 uri of the component. + Uri *string `locationName:"uri" type:"string"` +} + +// String returns the string representation +func (s ImportComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportComponentInput) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangeDescription sets the ChangeDescription field's value. +func (s *ImportComponentInput) SetChangeDescription(v string) *ImportComponentInput { + s.ChangeDescription = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *ImportComponentInput) SetClientToken(v string) *ImportComponentInput { + s.ClientToken = &v + return s +} + +// SetData sets the Data field's value. +func (s *ImportComponentInput) SetData(v string) *ImportComponentInput { + s.Data = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ImportComponentInput) SetDescription(v string) *ImportComponentInput { + s.Description = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *ImportComponentInput) SetFormat(v string) *ImportComponentInput { + s.Format = &v + return s +} + +// 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 *ImportComponentInput) SetName(v string) *ImportComponentInput { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImportComponentInput) SetPlatform(v string) *ImportComponentInput { + s.Platform = &v + return s +} + +// SetSemanticVersion sets the SemanticVersion field's value. +func (s *ImportComponentInput) SetSemanticVersion(v string) *ImportComponentInput { + s.SemanticVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImportComponentInput) SetTags(v map[string]*string) *ImportComponentInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *ImportComponentInput) SetType(v string) *ImportComponentInput { + s.Type = &v + return s +} + +// 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 idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // 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 +func (s ImportComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportComponentOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *ImportComponentOutput) SetClientToken(v string) *ImportComponentOutput { + s.ClientToken = &v + return s +} + +// SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value. +func (s *ImportComponentOutput) SetComponentBuildVersionArn(v string) *ImportComponentOutput { + s.ComponentBuildVersionArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ImportComponentOutput) SetRequestId(v string) *ImportComponentOutput { + s.RequestId = &v + return s +} + +// Details of the infrastructure configuration. +type InfrastructureConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastruction 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 infrastruction configuration. + Description *string `locationName:"description" min:"1" type:"string"` + + // The instance profile of the infrastruction configuration. + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` + + // The instance types of the infrastruction configuration. + InstanceTypes []*string `locationName:"instanceTypes" type:"list"` + + // The EC2 key pair of the infrastruction configuration. + KeyPair *string `locationName:"keyPair" min:"1" type:"string"` + + // The logging configuration of the infrastruction configuration. + Logging *Logging `locationName:"logging" type:"structure"` + + // The name of the infrastruction configuration. + Name *string `locationName:"name" type:"string"` + + // The security group IDs of the infrastruction configuration. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The SNS Topic Amazon Resource Name (ARN) of the infrastruction configuration. + SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"` + + // The subnet ID of the infrastruction configuration. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + + // The tags of the infrastruction configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The terminate instance on failure configuration of the infrastruction configuration. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` +} + +// String returns the string representation +func (s InfrastructureConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InfrastructureConfiguration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *InfrastructureConfiguration) SetArn(v string) *InfrastructureConfiguration { + s.Arn = &v + return s +} + +// SetDateCreated sets the DateCreated field's value. +func (s *InfrastructureConfiguration) SetDateCreated(v string) *InfrastructureConfiguration { + s.DateCreated = &v + return s +} + +// SetDateUpdated sets the DateUpdated field's value. +func (s *InfrastructureConfiguration) SetDateUpdated(v string) *InfrastructureConfiguration { + s.DateUpdated = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *InfrastructureConfiguration) SetDescription(v string) *InfrastructureConfiguration { + s.Description = &v + return s +} + +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *InfrastructureConfiguration) SetInstanceProfileName(v string) *InfrastructureConfiguration { + s.InstanceProfileName = &v + return s +} + +// 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 +} + +// SetName sets the Name field's value. +func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfiguration { + s.Name = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *InfrastructureConfiguration) SetSnsTopicArn(v string) *InfrastructureConfiguration { + s.SnsTopicArn = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *InfrastructureConfiguration) SetSubnetId(v string) *InfrastructureConfiguration { + s.SubnetId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *InfrastructureConfiguration) SetTags(v map[string]*string) *InfrastructureConfiguration { + s.Tags = v + return s +} + +// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. +func (s *InfrastructureConfiguration) SetTerminateInstanceOnFailure(v bool) *InfrastructureConfiguration { + s.TerminateInstanceOnFailure = &v + return s +} + +// The infrastructure used when building EC2 AMIs. +type InfrastructureConfigurationSummary 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 name of the infrastructure configuration. + Name *string `locationName:"name" type:"string"` + + // The tags of the infrastructure configuration. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s InfrastructureConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InfrastructureConfigurationSummary) 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 +} + +// SetName sets the Name field's value. +func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureConfigurationSummary { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary { + s.Tags = 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 EBS specific configuration for this mapping. + Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"` + + // Use to remove a mapping from the parent image. + NoDevice *string `locationName:"noDevice" min:"1" type:"string"` + + // Use to manage instance ephemeral devices. + VirtualName *string `locationName:"virtualName" min:"1" type:"string"` +} + +// String returns the string representation +func (s InstanceBlockDeviceMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceBlockDeviceMapping) 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.NoDevice != nil && len(*s.NoDevice) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NoDevice", 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 + return s +} + +type LaunchPermissionConfiguration struct { + _ struct{} `type:"structure"` + + UserGroups []*string `locationName:"userGroups" type:"list"` + + UserIds []*string `locationName:"userIds" type:"list"` +} + +// String returns the string representation +func (s LaunchPermissionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchPermissionConfiguration) GoString() string { + return s.String() +} + +// SetUserGroups sets the UserGroups field's value. +func (s *LaunchPermissionConfiguration) SetUserGroups(v []*string) *LaunchPermissionConfiguration { + s.UserGroups = v + return s +} + +// SetUserIds sets the UserIds field's value. +func (s *LaunchPermissionConfiguration) SetUserIds(v []*string) *LaunchPermissionConfiguration { + s.UserIds = v + return s +} + +type ListComponentBuildVersionsInput struct { + _ struct{} `type:"structure"` + + // The component version arn whose versions you wish 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 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 +func (s ListComponentBuildVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentBuildVersionsInput) 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)) + } + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentBuildVersionsInput) SetMaxResults(v int64) *ListComponentBuildVersionsInput { + s.MaxResults = &v + return s +} + +// 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"` + + // 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 is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListComponentBuildVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentBuildVersionsOutput) GoString() string { + return s.String() +} + +// SetComponentSummaryList sets the ComponentSummaryList field's value. +func (s *ListComponentBuildVersionsOutput) SetComponentSummaryList(v []*ComponentSummary) *ListComponentBuildVersionsOutput { + s.ComponentSummaryList = v + return s +} + +// 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"` + + 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 whose components you wish to list. By default this request + // will only show components owned by your account. You may use this field to + // specify if you wish to view components owned by yourself, Amazon, or those + // components that have been shared with you by other customers. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` +} + +// String returns the string representation +func (s ListComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentsInput) 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"} + 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 +} + +// SetFilters sets the Filters field's value. +func (s *ListComponentsInput) SetFilters(v []*Filter) *ListComponentsInput { + s.Filters = v + return s +} + +// 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 list of component semantic versions. + ComponentVersionList []*ComponentVersion `locationName:"componentVersionList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListComponentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComponentsOutput) GoString() string { + return s.String() +} + +// SetComponentVersionList sets the ComponentVersionList field's value. +func (s *ListComponentsOutput) SetComponentVersionList(v []*ComponentVersion) *ListComponentsOutput { + s.ComponentVersionList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListComponentsOutput) SetRequestId(v string) *ListComponentsOutput { + s.RequestId = &v + return s +} + +type ListDistributionConfigurationsInput struct { + _ struct{} `type:"structure"` + + 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"` +} + +// String returns the string representation +func (s ListDistributionConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDistributionConfigurationsInput) 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"} + 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 +} + +// SetFilters sets the Filters field's value. +func (s *ListDistributionConfigurationsInput) SetFilters(v []*Filter) *ListDistributionConfigurationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDistributionConfigurationsInput) SetMaxResults(v int64) *ListDistributionConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDistributionConfigurationsInput) SetNextToken(v string) *ListDistributionConfigurationsInput { + s.NextToken = &v + return s +} + +type ListDistributionConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // The list of distributions. + DistributionConfigurationSummaryList []*DistributionConfigurationSummary `locationName:"distributionConfigurationSummaryList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListDistributionConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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"` + + Filters []*Filter `locationName:"filters" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the image whose build versions you wish + // 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 +func (s ListImageBuildVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImageBuildVersionsInput) 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")) + } + 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 +} + +// 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 + return s +} + +// 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"` + + // The list of image build versions. + ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListImageBuildVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImageBuildVersionsOutput) GoString() string { + return s.String() +} + +// SetImageSummaryList sets the ImageSummaryList field's value. +func (s *ListImageBuildVersionsOutput) SetImageSummaryList(v []*ImageSummary) *ListImageBuildVersionsOutput { + s.ImageSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImageBuildVersionsOutput) SetNextToken(v string) *ListImageBuildVersionsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListImageBuildVersionsOutput) SetRequestId(v string) *ListImageBuildVersionsOutput { + s.RequestId = &v + return s +} + +type ListImagePipelineImagesInput struct { + _ struct{} `type:"structure"` + + Filters []*Filter `locationName:"filters" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the image pipeline whose images you wish + // to view. + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"` + + // 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 +func (s ListImagePipelineImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagePipelineImagesInput) 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"} + 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 +} + +// SetFilters sets the Filters field's value. +func (s *ListImagePipelineImagesInput) SetFilters(v []*Filter) *ListImagePipelineImagesInput { + 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 { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelineImagesInput) SetNextToken(v string) *ListImagePipelineImagesInput { + s.NextToken = &v + return s +} + +type ListImagePipelineImagesOutput struct { + _ struct{} `type:"structure"` + + // The list of images built by this pipeline. + ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListImagePipelineImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagePipelineImagesOutput) GoString() string { + return s.String() +} + +// SetImageSummaryList sets the ImageSummaryList field's value. +func (s *ListImagePipelineImagesOutput) SetImageSummaryList(v []*ImageSummary) *ListImagePipelineImagesOutput { + s.ImageSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImagePipelineImagesOutput) SetNextToken(v string) *ListImagePipelineImagesOutput { + 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"` + + 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"` +} + +// String returns the string representation +func (s ListImagePipelinesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagePipelinesInput) 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)) + } + 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 +} + +// 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 + return s +} + +type ListImagePipelinesOutput struct { + _ struct{} `type:"structure"` + + // The list of image pipelines. + ImagePipelineList []*ImagePipeline `locationName:"imagePipelineList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListImagePipelinesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagePipelinesOutput) 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 + return s +} + +type ListImageRecipesInput struct { + _ struct{} `type:"structure"` + + 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 whose image recipes you wish to list. By default this request + // will only show image recipes owned by your account. You may use this field + // to specify if you wish to view image recipes owned by yourself, 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 +func (s ListImageRecipesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImageRecipesInput) 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)) + } + 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 +} + +// 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 { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImageRecipesInput) SetNextToken(v string) *ListImageRecipesInput { + 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 { + _ struct{} `type:"structure"` + + // The list of image pipelines. + ImageRecipeSummaryList []*ImageRecipeSummary `locationName:"imageRecipeSummaryList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListImageRecipesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImageRecipesOutput) SetNextToken(v string) *ListImageRecipesOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListImageRecipesOutput) SetRequestId(v string) *ListImageRecipesOutput { + s.RequestId = &v + return s +} + +type ListImagesInput struct { + _ struct{} `type:"structure"` + + 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 whose images you wish to list. By default this request + // will only show images owned by your account. You may use this field to specify + // if you wish to view images owned by yourself, Amazon, or those images that + // have been shared with you by other customers. + Owner *string `locationName:"owner" type:"string" enum:"Ownership"` +} + +// String returns the string representation +func (s ListImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagesInput) 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)) + } + 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 +} + +// SetFilters sets the Filters field's value. +func (s *ListImagesInput) SetFilters(v []*Filter) *ListImagesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListImagesInput) SetMaxResults(v int64) *ListImagesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImagesInput) SetNextToken(v string) *ListImagesInput { + s.NextToken = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ListImagesInput) SetOwner(v string) *ListImagesInput { + s.Owner = &v + return s +} + +type ListImagesOutput struct { + _ struct{} `type:"structure"` + + // The list of image semantic versions. + ImageVersionList []*ImageVersion `locationName:"imageVersionList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagesOutput) GoString() string { + return s.String() +} + +// 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 *ListImagesOutput) SetNextToken(v string) *ListImagesOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListImagesOutput) SetRequestId(v string) *ListImagesOutput { + s.RequestId = &v + return s +} + +type ListInfrastructureConfigurationsInput struct { + _ struct{} `type:"structure"` + + 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"` +} + +// String returns the string representation +func (s ListInfrastructureConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInfrastructureConfigurationsInput) 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"} + 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 +} + +// SetFilters sets the Filters field's value. +func (s *ListInfrastructureConfigurationsInput) SetFilters(v []*Filter) *ListInfrastructureConfigurationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInfrastructureConfigurationsInput) SetMaxResults(v int64) *ListInfrastructureConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInfrastructureConfigurationsInput) SetNextToken(v string) *ListInfrastructureConfigurationsInput { + s.NextToken = &v + return s +} + +type ListInfrastructureConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // The list of infrastructure configurations. + InfrastructureConfigurationSummaryList []*InfrastructureConfigurationSummary `locationName:"infrastructureConfigurationSummaryList" type:"list"` + + // The next token used for paginated responses. When this is not empty then + // there are additional elements that the service that not include in this request. + // Use this token with the next request to retrieve additional object. + 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 +func (s ListInfrastructureConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInfrastructureConfigurationsOutput) 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 { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListInfrastructureConfigurationsOutput) SetRequestId(v string) *ListInfrastructureConfigurationsOutput { + s.RequestId = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource whose tags you wish to retrieve. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the specified resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Logging configuration defines where Image Builder uploads your logs to. +type Logging struct { + _ struct{} `type:"structure"` + + // The S3 logging configuration. + S3Logs *S3Logs `locationName:"s3Logs" type:"structure"` +} + +// String returns the string representation +func (s Logging) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Logging) 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)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Logs sets the S3Logs field's value. +func (s *Logging) SetS3Logs(v *S3Logs) *Logging { + s.S3Logs = v + return s +} + +// The resources produced by this image. +type OutputResources struct { + _ struct{} `type:"structure"` + + // The EC2 AMIs created by this image. + Amis []*Ami `locationName:"amis" type:"list"` +} + +// String returns the string representation +func (s OutputResources) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputResources) GoString() string { + return s.String() +} + +// SetAmis sets the Amis field's value. +func (s *OutputResources) SetAmis(v []*Ami) *OutputResources { + s.Amis = v + return s +} + +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"` + + // The policy to apply. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutComponentPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutComponentPolicyInput) 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentArn sets the ComponentArn field's value. +func (s *PutComponentPolicyInput) SetComponentArn(v string) *PutComponentPolicyInput { + s.ComponentArn = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutComponentPolicyInput) SetPolicy(v string) *PutComponentPolicyInput { + s.Policy = &v + return s +} + +type PutComponentPolicyOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the component that this policy was applied + // to. + ComponentArn *string `locationName:"componentArn" type:"string"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s PutComponentPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutComponentPolicyOutput) 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 + return s +} + +type PutImagePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the image that this policy should be applied + // to. + // + // ImageArn is a required field + ImageArn *string `locationName:"imageArn" type:"string" required:"true"` + + // The policy to apply. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutImagePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutImagePolicyInput) 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")) + } + 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 +} + +// SetImageArn sets the ImageArn field's value. +func (s *PutImagePolicyInput) SetImageArn(v string) *PutImagePolicyInput { + s.ImageArn = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutImagePolicyInput) SetPolicy(v string) *PutImagePolicyInput { + s.Policy = &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 +func (s PutImagePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *PutImagePolicyOutput) SetRequestId(v string) *PutImagePolicyOutput { + s.RequestId = &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"` +} + +// String returns the string representation +func (s PutImageRecipePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// SetPolicy sets the Policy field's value. +func (s *PutImageRecipePolicyInput) SetPolicy(v string) *PutImageRecipePolicyInput { + s.Policy = &v + return s +} + +type PutImageRecipePolicyOutput 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 request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s PutImageRecipePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutImageRecipePolicyOutput) GoString() string { + return s.String() +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *PutImageRecipePolicyOutput) SetImageRecipeArn(v string) *PutImageRecipePolicyOutput { + s.ImageRecipeArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *PutImageRecipePolicyOutput) SetRequestId(v string) *PutImageRecipePolicyOutput { + s.RequestId = &v + return s +} + +// S3 Logging configuration. +type S3Logs struct { + _ struct{} `type:"structure"` + + // The S3 bucket in which to store the logs. + S3BucketName *string `locationName:"s3BucketName" min:"1" type:"string"` + + // The S3 path in which to store the logs. + S3KeyPrefix *string `locationName:"s3KeyPrefix" min:"1" type:"string"` +} + +// String returns the string representation +func (s S3Logs) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Logs) 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 + return s +} + +// A schedule configures how often and when a pipeline will automatically create +// a new image. +type Schedule struct { + _ struct{} `type:"structure"` + + // The condition configures when the pipeline should trigger a new image build. + PipelineExecutionStartCondition *string `locationName:"pipelineExecutionStartCondition" type:"string" enum:"PipelineExecutionStartCondition"` + + // The expression determines how often a pipeline starts the creation of new + // images. + ScheduleExpression *string `locationName:"scheduleExpression" min:"1" type:"string"` +} + +// String returns the string representation +func (s Schedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Schedule) 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)) + } + + 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 +} + +type StartImagePipelineExecutionInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the image pipeline that you wish to manually + // invoke. + // + // ImagePipelineArn is a required field + ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartImagePipelineExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartImagePipelineExecutionInput) 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"} + 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 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartImagePipelineExecutionInput) SetClientToken(v string) *StartImagePipelineExecutionInput { + s.ClientToken = &v + return s +} + +// 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"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the image that was created by this request. + 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 +func (s StartImagePipelineExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartImagePipelineExecutionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartImagePipelineExecutionOutput) SetClientToken(v string) *StartImagePipelineExecutionOutput { + s.ClientToken = &v + return s +} + +// SetImageBuildVersionArn sets the ImageBuildVersionArn field's value. +func (s *StartImagePipelineExecutionOutput) SetImageBuildVersionArn(v string) *StartImagePipelineExecutionOutput { + s.ImageBuildVersionArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *StartImagePipelineExecutionOutput) SetRequestId(v string) *StartImagePipelineExecutionOutput { + s.RequestId = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you wish 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 +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 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 +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you wish 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 +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateDistributionConfigurationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token of the distribution configuration. + 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 + // wish to update. + // + // DistributionConfigurationArn is a required field + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string" required:"true"` + + // The distributions of the distribution configuration. + Distributions []*Distribution `locationName:"distributions" type:"list"` +} + +// String returns the string representation +func (s UpdateDistributionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionConfigurationInput) GoString() string { + return s.String() +} + +// 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 { + 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateDistributionConfigurationInput) SetClientToken(v string) *UpdateDistributionConfigurationInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDistributionConfigurationInput) SetDescription(v string) *UpdateDistributionConfigurationInput { + s.Description = &v + return s +} + +// 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 idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" 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"` +} + +// String returns the string representation +func (s UpdateDistributionConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionConfigurationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateDistributionConfigurationOutput) SetClientToken(v string) *UpdateDistributionConfigurationOutput { + s.ClientToken = &v + return s +} + +// 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 *UpdateDistributionConfigurationOutput) SetRequestId(v string) *UpdateDistributionConfigurationOutput { + s.RequestId = &v + return s +} + +type UpdateImagePipelineInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // 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 updated by this image pipeline. + DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"` + + // The Amazon Resource Name (ARN) of the image pipeline that you wish to update. + // + // 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"` + + // The image test configuration of the image pipeline. + ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that will + // be used to build images updated by this image pipeline. + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"` + + // 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"` +} + +// String returns the string representation +func (s UpdateImagePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateImagePipelineInput) 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"} + 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.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 + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateImagePipelineInput) SetClientToken(v string) *UpdateImagePipelineInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateImagePipelineInput) SetDescription(v string) *UpdateImagePipelineInput { + s.Description = &v + return s +} + +// SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value. +func (s *UpdateImagePipelineInput) SetDistributionConfigurationArn(v string) *UpdateImagePipelineInput { + s.DistributionConfigurationArn = &v + return s +} + +// SetImagePipelineArn sets the ImagePipelineArn field's value. +func (s *UpdateImagePipelineInput) SetImagePipelineArn(v string) *UpdateImagePipelineInput { + s.ImagePipelineArn = &v + return s +} + +// SetImageRecipeArn sets the ImageRecipeArn field's value. +func (s *UpdateImagePipelineInput) SetImageRecipeArn(v string) *UpdateImagePipelineInput { + s.ImageRecipeArn = &v + return s +} + +// SetImageTestsConfiguration sets the ImageTestsConfiguration field's value. +func (s *UpdateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *UpdateImagePipelineInput { + s.ImageTestsConfiguration = v + return s +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *UpdateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *UpdateImagePipelineInput { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateImagePipelineInput) SetSchedule(v *Schedule) *UpdateImagePipelineInput { + s.Schedule = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateImagePipelineInput) SetStatus(v string) *UpdateImagePipelineInput { + s.Status = &v + return s +} + +type UpdateImagePipelineOutput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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"` + + // The request ID that uniquely identifies this request. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateImagePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateImagePipelineOutput) 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 + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *UpdateImagePipelineOutput) SetRequestId(v string) *UpdateImagePipelineOutput { + s.RequestId = &v + return s +} + +type UpdateInfrastructureConfigurationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + 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 + // wish to update. + // + // InfrastructureConfigurationArn is a required field + InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"` + + // The instance profile to associate with the instance used to customize your + // EC2 AMI. + InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"` + + // The instance types of the infrastructure configuration. You may 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. This can be used to log + // onto 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 security group IDs to associate with the instance used to customize your + // EC2 AMI. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The SNS topic on which to send image build events. + SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"` + + // The subnet ID to place the instance used to customize your 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 wish for Image Builder to retain the instance used to + // configure your AMI in the event that the build or test phase of your workflow + // failed. + TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"` +} + +// String returns the string representation +func (s UpdateInfrastructureConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInfrastructureConfigurationInput) 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 && 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.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + 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 *UpdateInfrastructureConfigurationInput) SetClientToken(v string) *UpdateInfrastructureConfigurationInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateInfrastructureConfigurationInput) SetDescription(v string) *UpdateInfrastructureConfigurationInput { + s.Description = &v + return s +} + +// SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationInput { + s.InfrastructureConfigurationArn = &v + return s +} + +// SetInstanceProfileName sets the InstanceProfileName field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *UpdateInfrastructureConfigurationInput { + s.InstanceProfileName = &v + return s +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *UpdateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *UpdateInfrastructureConfigurationInput { + s.InstanceTypes = v + return s +} + +// SetKeyPair sets the KeyPair field's value. +func (s *UpdateInfrastructureConfigurationInput) SetKeyPair(v string) *UpdateInfrastructureConfigurationInput { + s.KeyPair = &v + return s +} + +// SetLogging sets the Logging field's value. +func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateInfrastructureConfigurationInput { + s.Logging = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput { + s.SecurityGroupIds = v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *UpdateInfrastructureConfigurationInput { + s.SnsTopicArn = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *UpdateInfrastructureConfigurationInput) SetSubnetId(v string) *UpdateInfrastructureConfigurationInput { + s.SubnetId = &v + return s +} + +// SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value. +func (s *UpdateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *UpdateInfrastructureConfigurationInput { + s.TerminateInstanceOnFailure = &v + return s +} + +type UpdateInfrastructureConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The idempotency token used to make this request idempotent. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the infrastructure configuration that was + // updated 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"` +} + +// String returns the string representation +func (s UpdateInfrastructureConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInfrastructureConfigurationOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateInfrastructureConfigurationOutput) SetClientToken(v string) *UpdateInfrastructureConfigurationOutput { + s.ClientToken = &v + return s +} + +// 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 *UpdateInfrastructureConfigurationOutput) SetRequestId(v string) *UpdateInfrastructureConfigurationOutput { + s.RequestId = &v + return s +} + +const ( + // ComponentFormatShell is a ComponentFormat enum value + ComponentFormatShell = "SHELL" +) + +const ( + // ComponentTypeBuild is a ComponentType enum value + ComponentTypeBuild = "BUILD" + + // ComponentTypeTest is a ComponentType enum value + ComponentTypeTest = "TEST" +) + +const ( + // EbsVolumeTypeStandard is a EbsVolumeType enum value + EbsVolumeTypeStandard = "standard" + + // EbsVolumeTypeIo1 is a EbsVolumeType enum value + EbsVolumeTypeIo1 = "io1" + + // EbsVolumeTypeGp2 is a EbsVolumeType enum value + EbsVolumeTypeGp2 = "gp2" + + // EbsVolumeTypeSc1 is a EbsVolumeType enum value + EbsVolumeTypeSc1 = "sc1" + + // EbsVolumeTypeSt1 is a EbsVolumeType enum value + EbsVolumeTypeSt1 = "st1" +) + +const ( + // ImageStatusPending is a ImageStatus enum value + ImageStatusPending = "PENDING" + + // ImageStatusCreating is a ImageStatus enum value + ImageStatusCreating = "CREATING" + + // ImageStatusBuilding is a ImageStatus enum value + ImageStatusBuilding = "BUILDING" + + // ImageStatusTesting is a ImageStatus enum value + ImageStatusTesting = "TESTING" + + // ImageStatusDistributing is a ImageStatus enum value + ImageStatusDistributing = "DISTRIBUTING" + + // ImageStatusIntegrating is a ImageStatus enum value + ImageStatusIntegrating = "INTEGRATING" + + // ImageStatusAvailable is a ImageStatus enum value + ImageStatusAvailable = "AVAILABLE" + + // ImageStatusCancelled is a ImageStatus enum value + ImageStatusCancelled = "CANCELLED" + + // ImageStatusFailed is a ImageStatus enum value + ImageStatusFailed = "FAILED" + + // ImageStatusDeprecated is a ImageStatus enum value + ImageStatusDeprecated = "DEPRECATED" + + // ImageStatusDeleted is a ImageStatus enum value + ImageStatusDeleted = "DELETED" +) + +const ( + // OwnershipSelf is a Ownership enum value + OwnershipSelf = "Self" + + // OwnershipShared is a Ownership enum value + OwnershipShared = "Shared" + + // OwnershipAmazon is a Ownership enum value + OwnershipAmazon = "Amazon" +) + +const ( + // PipelineExecutionStartConditionExpressionMatchOnly is a PipelineExecutionStartCondition enum value + PipelineExecutionStartConditionExpressionMatchOnly = "EXPRESSION_MATCH_ONLY" + + // PipelineExecutionStartConditionExpressionMatchAndDependencyUpdatesAvailable is a PipelineExecutionStartCondition enum value + PipelineExecutionStartConditionExpressionMatchAndDependencyUpdatesAvailable = "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" +) + +const ( + // PipelineStatusDisabled is a PipelineStatus enum value + PipelineStatusDisabled = "DISABLED" + + // PipelineStatusEnabled is a PipelineStatus enum value + PipelineStatusEnabled = "ENABLED" +) + +const ( + // PlatformWindows is a Platform enum value + PlatformWindows = "Windows" + + // PlatformLinux is a Platform enum value + PlatformLinux = "Linux" +) diff --git a/service/imagebuilder/doc.go b/service/imagebuilder/doc.go new file mode 100644 index 00000000000..b9df8be30f9 --- /dev/null +++ b/service/imagebuilder/doc.go @@ -0,0 +1,38 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package imagebuilder provides the client and types for making API +// requests to EC2 Image Builder. +// +// Amazon Elastic Compute Cloud Image Builder provides a one-stop-shop to automate +// the image management processes. You configure an automated pipeline that +// creates images for use on AWS. As software updates become available, Image +// Builder automatically produces a new image based on a customizable schedule +// and distributes it to stipulated AWS Regions after running tests on it. With +// the Image Builder, organizations can capture their internal or industry-specific +// compliance policies as a vetted template that can be consistently applied +// to every new image. Built-in integration with AWS Organizations provides +// customers with a centralized way to enforce image distribution and access +// policies across their AWS accounts and Regions. Image Builder supports multiple +// image format AMIs on AWS. +// +// See https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02 for more information on this service. +// +// See imagebuilder package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/imagebuilder/ +// +// Using the Client +// +// To contact EC2 Image Builder with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the EC2 Image Builder client Imagebuilder for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/imagebuilder/#New +package imagebuilder diff --git a/service/imagebuilder/errors.go b/service/imagebuilder/errors.go new file mode 100644 index 00000000000..e020e4600b9 --- /dev/null +++ b/service/imagebuilder/errors.go @@ -0,0 +1,109 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package imagebuilder + +const ( + + // ErrCodeCallRateLimitExceededException for service response error code + // "CallRateLimitExceededException". + // + // You have exceeded the permitted request rate for the specific operation. + ErrCodeCallRateLimitExceededException = "CallRateLimitExceededException" + + // ErrCodeClientException for service response error code + // "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. + ErrCodeClientException = "ClientException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + // + // You are not authorized to perform the requested operation. + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeIdempotentParameterMismatchException for service response error code + // "IdempotentParameterMismatchException". + // + // You have specified an client token for an operation using parameter values + // that differ from a previous request that used the same client token. + ErrCodeIdempotentParameterMismatchException = "IdempotentParameterMismatchException" + + // ErrCodeInvalidPaginationTokenException for service response error code + // "InvalidPaginationTokenException". + // + // You have provided an invalid pagination token in your request. + ErrCodeInvalidPaginationTokenException = "InvalidPaginationTokenException" + + // ErrCodeInvalidParameterCombinationException for service response error code + // "InvalidParameterCombinationException". + // + // You have specified two or more mutually exclusive parameters. Review the + // error message for details. + ErrCodeInvalidParameterCombinationException = "InvalidParameterCombinationException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // The specified parameter is invalid. Review the available parameters for the + // API request. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeInvalidParameterValueException for service response error code + // "InvalidParameterValueException". + // + // The value that you provided for the specified parameter is invalid. + ErrCodeInvalidParameterValueException = "InvalidParameterValueException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // You have made a request for an action that is not supported by the service. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeInvalidVersionNumberException for service response error code + // "InvalidVersionNumberException". + // + // Your version number is out of bounds or does not follow the required syntax. + ErrCodeInvalidVersionNumberException = "InvalidVersionNumberException" + + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // The resource that you are trying to create already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + + // ErrCodeResourceDependencyException for service response error code + // "ResourceDependencyException". + // + // You have attempted to mutate or delete a resource with a dependency that + // is prohibitting this action. See the error message for more details. + ErrCodeResourceDependencyException = "ResourceDependencyException" + + // ErrCodeResourceInUseException for service response error code + // "ResourceInUseException". + // + // The resource that you are trying to operate on is currently in use. Review + // the message details, and retry later. + ErrCodeResourceInUseException = "ResourceInUseException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // At least one of the resources referenced by your request does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceException for service response error code + // "ServiceException". + // + // This exception is thrown when the service encounters an unrecoverable exception. + ErrCodeServiceException = "ServiceException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The service is unable to process your request at this time. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" +) diff --git a/service/imagebuilder/imagebuilderiface/interface.go b/service/imagebuilder/imagebuilderiface/interface.go new file mode 100644 index 00000000000..183d2a4589a --- /dev/null +++ b/service/imagebuilder/imagebuilderiface/interface.go @@ -0,0 +1,259 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package imagebuilderiface provides an interface to enable mocking the EC2 Image Builder service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package imagebuilderiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/imagebuilder" +) + +// ImagebuilderAPI provides an interface to enable mocking the +// imagebuilder.Imagebuilder service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // EC2 Image Builder. +// func myFunc(svc imagebuilderiface.ImagebuilderAPI) bool { +// // Make svc.CancelImageCreation request +// } +// +// func main() { +// sess := session.New() +// svc := imagebuilder.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockImagebuilderClient struct { +// imagebuilderiface.ImagebuilderAPI +// } +// func (m *mockImagebuilderClient) CancelImageCreation(input *imagebuilder.CancelImageCreationInput) (*imagebuilder.CancelImageCreationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockImagebuilderClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type ImagebuilderAPI interface { + CancelImageCreation(*imagebuilder.CancelImageCreationInput) (*imagebuilder.CancelImageCreationOutput, error) + CancelImageCreationWithContext(aws.Context, *imagebuilder.CancelImageCreationInput, ...request.Option) (*imagebuilder.CancelImageCreationOutput, error) + CancelImageCreationRequest(*imagebuilder.CancelImageCreationInput) (*request.Request, *imagebuilder.CancelImageCreationOutput) + + CreateComponent(*imagebuilder.CreateComponentInput) (*imagebuilder.CreateComponentOutput, error) + CreateComponentWithContext(aws.Context, *imagebuilder.CreateComponentInput, ...request.Option) (*imagebuilder.CreateComponentOutput, error) + CreateComponentRequest(*imagebuilder.CreateComponentInput) (*request.Request, *imagebuilder.CreateComponentOutput) + + CreateDistributionConfiguration(*imagebuilder.CreateDistributionConfigurationInput) (*imagebuilder.CreateDistributionConfigurationOutput, error) + CreateDistributionConfigurationWithContext(aws.Context, *imagebuilder.CreateDistributionConfigurationInput, ...request.Option) (*imagebuilder.CreateDistributionConfigurationOutput, error) + CreateDistributionConfigurationRequest(*imagebuilder.CreateDistributionConfigurationInput) (*request.Request, *imagebuilder.CreateDistributionConfigurationOutput) + + CreateImage(*imagebuilder.CreateImageInput) (*imagebuilder.CreateImageOutput, error) + CreateImageWithContext(aws.Context, *imagebuilder.CreateImageInput, ...request.Option) (*imagebuilder.CreateImageOutput, error) + CreateImageRequest(*imagebuilder.CreateImageInput) (*request.Request, *imagebuilder.CreateImageOutput) + + CreateImagePipeline(*imagebuilder.CreateImagePipelineInput) (*imagebuilder.CreateImagePipelineOutput, error) + CreateImagePipelineWithContext(aws.Context, *imagebuilder.CreateImagePipelineInput, ...request.Option) (*imagebuilder.CreateImagePipelineOutput, error) + CreateImagePipelineRequest(*imagebuilder.CreateImagePipelineInput) (*request.Request, *imagebuilder.CreateImagePipelineOutput) + + CreateImageRecipe(*imagebuilder.CreateImageRecipeInput) (*imagebuilder.CreateImageRecipeOutput, error) + CreateImageRecipeWithContext(aws.Context, *imagebuilder.CreateImageRecipeInput, ...request.Option) (*imagebuilder.CreateImageRecipeOutput, error) + CreateImageRecipeRequest(*imagebuilder.CreateImageRecipeInput) (*request.Request, *imagebuilder.CreateImageRecipeOutput) + + CreateInfrastructureConfiguration(*imagebuilder.CreateInfrastructureConfigurationInput) (*imagebuilder.CreateInfrastructureConfigurationOutput, error) + CreateInfrastructureConfigurationWithContext(aws.Context, *imagebuilder.CreateInfrastructureConfigurationInput, ...request.Option) (*imagebuilder.CreateInfrastructureConfigurationOutput, error) + CreateInfrastructureConfigurationRequest(*imagebuilder.CreateInfrastructureConfigurationInput) (*request.Request, *imagebuilder.CreateInfrastructureConfigurationOutput) + + DeleteComponent(*imagebuilder.DeleteComponentInput) (*imagebuilder.DeleteComponentOutput, error) + DeleteComponentWithContext(aws.Context, *imagebuilder.DeleteComponentInput, ...request.Option) (*imagebuilder.DeleteComponentOutput, error) + DeleteComponentRequest(*imagebuilder.DeleteComponentInput) (*request.Request, *imagebuilder.DeleteComponentOutput) + + DeleteDistributionConfiguration(*imagebuilder.DeleteDistributionConfigurationInput) (*imagebuilder.DeleteDistributionConfigurationOutput, error) + DeleteDistributionConfigurationWithContext(aws.Context, *imagebuilder.DeleteDistributionConfigurationInput, ...request.Option) (*imagebuilder.DeleteDistributionConfigurationOutput, error) + DeleteDistributionConfigurationRequest(*imagebuilder.DeleteDistributionConfigurationInput) (*request.Request, *imagebuilder.DeleteDistributionConfigurationOutput) + + DeleteImage(*imagebuilder.DeleteImageInput) (*imagebuilder.DeleteImageOutput, error) + DeleteImageWithContext(aws.Context, *imagebuilder.DeleteImageInput, ...request.Option) (*imagebuilder.DeleteImageOutput, error) + DeleteImageRequest(*imagebuilder.DeleteImageInput) (*request.Request, *imagebuilder.DeleteImageOutput) + + DeleteImagePipeline(*imagebuilder.DeleteImagePipelineInput) (*imagebuilder.DeleteImagePipelineOutput, error) + DeleteImagePipelineWithContext(aws.Context, *imagebuilder.DeleteImagePipelineInput, ...request.Option) (*imagebuilder.DeleteImagePipelineOutput, error) + DeleteImagePipelineRequest(*imagebuilder.DeleteImagePipelineInput) (*request.Request, *imagebuilder.DeleteImagePipelineOutput) + + DeleteImageRecipe(*imagebuilder.DeleteImageRecipeInput) (*imagebuilder.DeleteImageRecipeOutput, error) + DeleteImageRecipeWithContext(aws.Context, *imagebuilder.DeleteImageRecipeInput, ...request.Option) (*imagebuilder.DeleteImageRecipeOutput, error) + DeleteImageRecipeRequest(*imagebuilder.DeleteImageRecipeInput) (*request.Request, *imagebuilder.DeleteImageRecipeOutput) + + DeleteInfrastructureConfiguration(*imagebuilder.DeleteInfrastructureConfigurationInput) (*imagebuilder.DeleteInfrastructureConfigurationOutput, error) + DeleteInfrastructureConfigurationWithContext(aws.Context, *imagebuilder.DeleteInfrastructureConfigurationInput, ...request.Option) (*imagebuilder.DeleteInfrastructureConfigurationOutput, error) + DeleteInfrastructureConfigurationRequest(*imagebuilder.DeleteInfrastructureConfigurationInput) (*request.Request, *imagebuilder.DeleteInfrastructureConfigurationOutput) + + GetComponent(*imagebuilder.GetComponentInput) (*imagebuilder.GetComponentOutput, error) + GetComponentWithContext(aws.Context, *imagebuilder.GetComponentInput, ...request.Option) (*imagebuilder.GetComponentOutput, error) + GetComponentRequest(*imagebuilder.GetComponentInput) (*request.Request, *imagebuilder.GetComponentOutput) + + GetComponentPolicy(*imagebuilder.GetComponentPolicyInput) (*imagebuilder.GetComponentPolicyOutput, error) + GetComponentPolicyWithContext(aws.Context, *imagebuilder.GetComponentPolicyInput, ...request.Option) (*imagebuilder.GetComponentPolicyOutput, error) + GetComponentPolicyRequest(*imagebuilder.GetComponentPolicyInput) (*request.Request, *imagebuilder.GetComponentPolicyOutput) + + GetDistributionConfiguration(*imagebuilder.GetDistributionConfigurationInput) (*imagebuilder.GetDistributionConfigurationOutput, error) + GetDistributionConfigurationWithContext(aws.Context, *imagebuilder.GetDistributionConfigurationInput, ...request.Option) (*imagebuilder.GetDistributionConfigurationOutput, error) + GetDistributionConfigurationRequest(*imagebuilder.GetDistributionConfigurationInput) (*request.Request, *imagebuilder.GetDistributionConfigurationOutput) + + GetImage(*imagebuilder.GetImageInput) (*imagebuilder.GetImageOutput, error) + GetImageWithContext(aws.Context, *imagebuilder.GetImageInput, ...request.Option) (*imagebuilder.GetImageOutput, error) + GetImageRequest(*imagebuilder.GetImageInput) (*request.Request, *imagebuilder.GetImageOutput) + + GetImagePipeline(*imagebuilder.GetImagePipelineInput) (*imagebuilder.GetImagePipelineOutput, error) + GetImagePipelineWithContext(aws.Context, *imagebuilder.GetImagePipelineInput, ...request.Option) (*imagebuilder.GetImagePipelineOutput, error) + GetImagePipelineRequest(*imagebuilder.GetImagePipelineInput) (*request.Request, *imagebuilder.GetImagePipelineOutput) + + GetImagePolicy(*imagebuilder.GetImagePolicyInput) (*imagebuilder.GetImagePolicyOutput, error) + GetImagePolicyWithContext(aws.Context, *imagebuilder.GetImagePolicyInput, ...request.Option) (*imagebuilder.GetImagePolicyOutput, error) + GetImagePolicyRequest(*imagebuilder.GetImagePolicyInput) (*request.Request, *imagebuilder.GetImagePolicyOutput) + + GetImageRecipe(*imagebuilder.GetImageRecipeInput) (*imagebuilder.GetImageRecipeOutput, error) + GetImageRecipeWithContext(aws.Context, *imagebuilder.GetImageRecipeInput, ...request.Option) (*imagebuilder.GetImageRecipeOutput, error) + GetImageRecipeRequest(*imagebuilder.GetImageRecipeInput) (*request.Request, *imagebuilder.GetImageRecipeOutput) + + GetImageRecipePolicy(*imagebuilder.GetImageRecipePolicyInput) (*imagebuilder.GetImageRecipePolicyOutput, error) + GetImageRecipePolicyWithContext(aws.Context, *imagebuilder.GetImageRecipePolicyInput, ...request.Option) (*imagebuilder.GetImageRecipePolicyOutput, error) + GetImageRecipePolicyRequest(*imagebuilder.GetImageRecipePolicyInput) (*request.Request, *imagebuilder.GetImageRecipePolicyOutput) + + GetInfrastructureConfiguration(*imagebuilder.GetInfrastructureConfigurationInput) (*imagebuilder.GetInfrastructureConfigurationOutput, error) + GetInfrastructureConfigurationWithContext(aws.Context, *imagebuilder.GetInfrastructureConfigurationInput, ...request.Option) (*imagebuilder.GetInfrastructureConfigurationOutput, error) + GetInfrastructureConfigurationRequest(*imagebuilder.GetInfrastructureConfigurationInput) (*request.Request, *imagebuilder.GetInfrastructureConfigurationOutput) + + ImportComponent(*imagebuilder.ImportComponentInput) (*imagebuilder.ImportComponentOutput, error) + ImportComponentWithContext(aws.Context, *imagebuilder.ImportComponentInput, ...request.Option) (*imagebuilder.ImportComponentOutput, error) + ImportComponentRequest(*imagebuilder.ImportComponentInput) (*request.Request, *imagebuilder.ImportComponentOutput) + + ListComponentBuildVersions(*imagebuilder.ListComponentBuildVersionsInput) (*imagebuilder.ListComponentBuildVersionsOutput, error) + ListComponentBuildVersionsWithContext(aws.Context, *imagebuilder.ListComponentBuildVersionsInput, ...request.Option) (*imagebuilder.ListComponentBuildVersionsOutput, error) + ListComponentBuildVersionsRequest(*imagebuilder.ListComponentBuildVersionsInput) (*request.Request, *imagebuilder.ListComponentBuildVersionsOutput) + + ListComponentBuildVersionsPages(*imagebuilder.ListComponentBuildVersionsInput, func(*imagebuilder.ListComponentBuildVersionsOutput, bool) bool) error + ListComponentBuildVersionsPagesWithContext(aws.Context, *imagebuilder.ListComponentBuildVersionsInput, func(*imagebuilder.ListComponentBuildVersionsOutput, bool) bool, ...request.Option) error + + ListComponents(*imagebuilder.ListComponentsInput) (*imagebuilder.ListComponentsOutput, error) + ListComponentsWithContext(aws.Context, *imagebuilder.ListComponentsInput, ...request.Option) (*imagebuilder.ListComponentsOutput, error) + ListComponentsRequest(*imagebuilder.ListComponentsInput) (*request.Request, *imagebuilder.ListComponentsOutput) + + ListComponentsPages(*imagebuilder.ListComponentsInput, func(*imagebuilder.ListComponentsOutput, bool) bool) error + ListComponentsPagesWithContext(aws.Context, *imagebuilder.ListComponentsInput, func(*imagebuilder.ListComponentsOutput, bool) bool, ...request.Option) error + + ListDistributionConfigurations(*imagebuilder.ListDistributionConfigurationsInput) (*imagebuilder.ListDistributionConfigurationsOutput, error) + ListDistributionConfigurationsWithContext(aws.Context, *imagebuilder.ListDistributionConfigurationsInput, ...request.Option) (*imagebuilder.ListDistributionConfigurationsOutput, error) + ListDistributionConfigurationsRequest(*imagebuilder.ListDistributionConfigurationsInput) (*request.Request, *imagebuilder.ListDistributionConfigurationsOutput) + + ListDistributionConfigurationsPages(*imagebuilder.ListDistributionConfigurationsInput, func(*imagebuilder.ListDistributionConfigurationsOutput, bool) bool) error + ListDistributionConfigurationsPagesWithContext(aws.Context, *imagebuilder.ListDistributionConfigurationsInput, func(*imagebuilder.ListDistributionConfigurationsOutput, bool) bool, ...request.Option) error + + ListImageBuildVersions(*imagebuilder.ListImageBuildVersionsInput) (*imagebuilder.ListImageBuildVersionsOutput, error) + ListImageBuildVersionsWithContext(aws.Context, *imagebuilder.ListImageBuildVersionsInput, ...request.Option) (*imagebuilder.ListImageBuildVersionsOutput, error) + ListImageBuildVersionsRequest(*imagebuilder.ListImageBuildVersionsInput) (*request.Request, *imagebuilder.ListImageBuildVersionsOutput) + + ListImageBuildVersionsPages(*imagebuilder.ListImageBuildVersionsInput, func(*imagebuilder.ListImageBuildVersionsOutput, bool) bool) error + ListImageBuildVersionsPagesWithContext(aws.Context, *imagebuilder.ListImageBuildVersionsInput, func(*imagebuilder.ListImageBuildVersionsOutput, bool) bool, ...request.Option) error + + ListImagePipelineImages(*imagebuilder.ListImagePipelineImagesInput) (*imagebuilder.ListImagePipelineImagesOutput, error) + ListImagePipelineImagesWithContext(aws.Context, *imagebuilder.ListImagePipelineImagesInput, ...request.Option) (*imagebuilder.ListImagePipelineImagesOutput, error) + ListImagePipelineImagesRequest(*imagebuilder.ListImagePipelineImagesInput) (*request.Request, *imagebuilder.ListImagePipelineImagesOutput) + + ListImagePipelineImagesPages(*imagebuilder.ListImagePipelineImagesInput, func(*imagebuilder.ListImagePipelineImagesOutput, bool) bool) error + ListImagePipelineImagesPagesWithContext(aws.Context, *imagebuilder.ListImagePipelineImagesInput, func(*imagebuilder.ListImagePipelineImagesOutput, bool) bool, ...request.Option) error + + ListImagePipelines(*imagebuilder.ListImagePipelinesInput) (*imagebuilder.ListImagePipelinesOutput, error) + ListImagePipelinesWithContext(aws.Context, *imagebuilder.ListImagePipelinesInput, ...request.Option) (*imagebuilder.ListImagePipelinesOutput, error) + ListImagePipelinesRequest(*imagebuilder.ListImagePipelinesInput) (*request.Request, *imagebuilder.ListImagePipelinesOutput) + + ListImagePipelinesPages(*imagebuilder.ListImagePipelinesInput, func(*imagebuilder.ListImagePipelinesOutput, bool) bool) error + ListImagePipelinesPagesWithContext(aws.Context, *imagebuilder.ListImagePipelinesInput, func(*imagebuilder.ListImagePipelinesOutput, bool) bool, ...request.Option) error + + ListImageRecipes(*imagebuilder.ListImageRecipesInput) (*imagebuilder.ListImageRecipesOutput, error) + ListImageRecipesWithContext(aws.Context, *imagebuilder.ListImageRecipesInput, ...request.Option) (*imagebuilder.ListImageRecipesOutput, error) + ListImageRecipesRequest(*imagebuilder.ListImageRecipesInput) (*request.Request, *imagebuilder.ListImageRecipesOutput) + + ListImageRecipesPages(*imagebuilder.ListImageRecipesInput, func(*imagebuilder.ListImageRecipesOutput, bool) bool) error + ListImageRecipesPagesWithContext(aws.Context, *imagebuilder.ListImageRecipesInput, func(*imagebuilder.ListImageRecipesOutput, bool) bool, ...request.Option) error + + ListImages(*imagebuilder.ListImagesInput) (*imagebuilder.ListImagesOutput, error) + ListImagesWithContext(aws.Context, *imagebuilder.ListImagesInput, ...request.Option) (*imagebuilder.ListImagesOutput, error) + ListImagesRequest(*imagebuilder.ListImagesInput) (*request.Request, *imagebuilder.ListImagesOutput) + + ListImagesPages(*imagebuilder.ListImagesInput, func(*imagebuilder.ListImagesOutput, bool) bool) error + ListImagesPagesWithContext(aws.Context, *imagebuilder.ListImagesInput, func(*imagebuilder.ListImagesOutput, bool) bool, ...request.Option) error + + ListInfrastructureConfigurations(*imagebuilder.ListInfrastructureConfigurationsInput) (*imagebuilder.ListInfrastructureConfigurationsOutput, error) + ListInfrastructureConfigurationsWithContext(aws.Context, *imagebuilder.ListInfrastructureConfigurationsInput, ...request.Option) (*imagebuilder.ListInfrastructureConfigurationsOutput, error) + ListInfrastructureConfigurationsRequest(*imagebuilder.ListInfrastructureConfigurationsInput) (*request.Request, *imagebuilder.ListInfrastructureConfigurationsOutput) + + ListInfrastructureConfigurationsPages(*imagebuilder.ListInfrastructureConfigurationsInput, func(*imagebuilder.ListInfrastructureConfigurationsOutput, bool) bool) error + ListInfrastructureConfigurationsPagesWithContext(aws.Context, *imagebuilder.ListInfrastructureConfigurationsInput, func(*imagebuilder.ListInfrastructureConfigurationsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*imagebuilder.ListTagsForResourceInput) (*imagebuilder.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *imagebuilder.ListTagsForResourceInput, ...request.Option) (*imagebuilder.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*imagebuilder.ListTagsForResourceInput) (*request.Request, *imagebuilder.ListTagsForResourceOutput) + + PutComponentPolicy(*imagebuilder.PutComponentPolicyInput) (*imagebuilder.PutComponentPolicyOutput, error) + PutComponentPolicyWithContext(aws.Context, *imagebuilder.PutComponentPolicyInput, ...request.Option) (*imagebuilder.PutComponentPolicyOutput, error) + PutComponentPolicyRequest(*imagebuilder.PutComponentPolicyInput) (*request.Request, *imagebuilder.PutComponentPolicyOutput) + + PutImagePolicy(*imagebuilder.PutImagePolicyInput) (*imagebuilder.PutImagePolicyOutput, error) + PutImagePolicyWithContext(aws.Context, *imagebuilder.PutImagePolicyInput, ...request.Option) (*imagebuilder.PutImagePolicyOutput, error) + PutImagePolicyRequest(*imagebuilder.PutImagePolicyInput) (*request.Request, *imagebuilder.PutImagePolicyOutput) + + PutImageRecipePolicy(*imagebuilder.PutImageRecipePolicyInput) (*imagebuilder.PutImageRecipePolicyOutput, error) + PutImageRecipePolicyWithContext(aws.Context, *imagebuilder.PutImageRecipePolicyInput, ...request.Option) (*imagebuilder.PutImageRecipePolicyOutput, error) + PutImageRecipePolicyRequest(*imagebuilder.PutImageRecipePolicyInput) (*request.Request, *imagebuilder.PutImageRecipePolicyOutput) + + StartImagePipelineExecution(*imagebuilder.StartImagePipelineExecutionInput) (*imagebuilder.StartImagePipelineExecutionOutput, error) + StartImagePipelineExecutionWithContext(aws.Context, *imagebuilder.StartImagePipelineExecutionInput, ...request.Option) (*imagebuilder.StartImagePipelineExecutionOutput, error) + StartImagePipelineExecutionRequest(*imagebuilder.StartImagePipelineExecutionInput) (*request.Request, *imagebuilder.StartImagePipelineExecutionOutput) + + TagResource(*imagebuilder.TagResourceInput) (*imagebuilder.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *imagebuilder.TagResourceInput, ...request.Option) (*imagebuilder.TagResourceOutput, error) + TagResourceRequest(*imagebuilder.TagResourceInput) (*request.Request, *imagebuilder.TagResourceOutput) + + UntagResource(*imagebuilder.UntagResourceInput) (*imagebuilder.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *imagebuilder.UntagResourceInput, ...request.Option) (*imagebuilder.UntagResourceOutput, error) + UntagResourceRequest(*imagebuilder.UntagResourceInput) (*request.Request, *imagebuilder.UntagResourceOutput) + + UpdateDistributionConfiguration(*imagebuilder.UpdateDistributionConfigurationInput) (*imagebuilder.UpdateDistributionConfigurationOutput, error) + UpdateDistributionConfigurationWithContext(aws.Context, *imagebuilder.UpdateDistributionConfigurationInput, ...request.Option) (*imagebuilder.UpdateDistributionConfigurationOutput, error) + UpdateDistributionConfigurationRequest(*imagebuilder.UpdateDistributionConfigurationInput) (*request.Request, *imagebuilder.UpdateDistributionConfigurationOutput) + + UpdateImagePipeline(*imagebuilder.UpdateImagePipelineInput) (*imagebuilder.UpdateImagePipelineOutput, error) + UpdateImagePipelineWithContext(aws.Context, *imagebuilder.UpdateImagePipelineInput, ...request.Option) (*imagebuilder.UpdateImagePipelineOutput, error) + UpdateImagePipelineRequest(*imagebuilder.UpdateImagePipelineInput) (*request.Request, *imagebuilder.UpdateImagePipelineOutput) + + UpdateInfrastructureConfiguration(*imagebuilder.UpdateInfrastructureConfigurationInput) (*imagebuilder.UpdateInfrastructureConfigurationOutput, error) + UpdateInfrastructureConfigurationWithContext(aws.Context, *imagebuilder.UpdateInfrastructureConfigurationInput, ...request.Option) (*imagebuilder.UpdateInfrastructureConfigurationOutput, error) + UpdateInfrastructureConfigurationRequest(*imagebuilder.UpdateInfrastructureConfigurationInput) (*request.Request, *imagebuilder.UpdateInfrastructureConfigurationOutput) +} + +var _ ImagebuilderAPI = (*imagebuilder.Imagebuilder)(nil) diff --git a/service/imagebuilder/service.go b/service/imagebuilder/service.go new file mode 100644 index 00000000000..bbd2eaa566f --- /dev/null +++ b/service/imagebuilder/service.go @@ -0,0 +1,101 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package imagebuilder + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// Imagebuilder provides the API operation methods for making requests to +// EC2 Image Builder. See this package's package overview docs +// for details on the service. +// +// Imagebuilder methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Imagebuilder struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "imagebuilder" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "imagebuilder" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Imagebuilder client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a Imagebuilder client from just a session. +// svc := imagebuilder.New(mySession) +// +// // Create a Imagebuilder client with additional configuration +// svc := imagebuilder.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Imagebuilder { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "imagebuilder" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *Imagebuilder { + svc := &Imagebuilder{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2019-12-02", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Imagebuilder operation and runs any +// custom request initialization. +func (c *Imagebuilder) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/licensemanager/api.go b/service/licensemanager/api.go index d292b8956f7..ee7f9813aa8 100644 --- a/service/licensemanager/api.go +++ b/service/licensemanager/api.go @@ -57,13 +57,14 @@ func (c *LicenseManager) CreateLicenseConfigurationRequest(input *CreateLicenseC // CreateLicenseConfiguration API operation for AWS License Manager. // -// Creates a new license configuration object. A license configuration is an -// abstraction of a customer license agreement that can be consumed and enforced -// by License Manager. Components include specifications for the license type -// (licensing by instance, socket, CPU, or VCPU), tenancy (shared tenancy, Amazon -// EC2 Dedicated Instance, Amazon EC2 Dedicated Host, or any of these), host -// affinity (how long a VM must be associated with a host), the number of licenses -// purchased and used. +// Creates a license configuration. +// +// A license configuration is an abstraction of a customer license agreement +// that can be consumed and enforced by License Manager. Components include +// specifications for the license type (licensing by instance, socket, CPU, +// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated +// Host, or all of these), host affinity (how long a VM must be associated with +// a host), and the number of licenses purchased and used. // // 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 @@ -159,8 +160,9 @@ func (c *LicenseManager) DeleteLicenseConfigurationRequest(input *DeleteLicenseC // DeleteLicenseConfiguration API operation for AWS License Manager. // -// Deletes an existing license configuration. This action fails if the configuration -// is in use. +// Deletes the specified license configuration. +// +// You cannot delete a license configuration that is in use. // // 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 @@ -252,7 +254,7 @@ func (c *LicenseManager) GetLicenseConfigurationRequest(input *GetLicenseConfigu // GetLicenseConfiguration API operation for AWS License Manager. // -// Returns a detailed description of a license configuration. +// Gets detailed information about the specified license configuration. // // 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 @@ -344,8 +346,7 @@ func (c *LicenseManager) GetServiceSettingsRequest(input *GetServiceSettingsInpu // GetServiceSettings API operation for AWS License Manager. // -// Gets License Manager settings for a region. Exposes the configured S3 bucket, -// SNS topic, etc., for inspection. +// Gets the License Manager settings for the current Region. // // 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 @@ -434,11 +435,11 @@ func (c *LicenseManager) ListAssociationsForLicenseConfigurationRequest(input *L // ListAssociationsForLicenseConfiguration API operation for AWS License Manager. // -// Lists the resource associations for a license configuration. Resource associations -// need not consume licenses from a license configuration. For example, an AMI -// or a stopped instance may not consume a license (depending on the license -// rules). Use this operation to find all resources associated with a license -// configuration. +// Lists the resource associations for the specified license configuration. +// +// Resource associations need not consume licenses from a license configuration. +// For example, an AMI or a stopped instance might not consume a license (depending +// on the license rules). // // 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 @@ -489,6 +490,98 @@ func (c *LicenseManager) ListAssociationsForLicenseConfigurationWithContext(ctx return out, req.Send() } +const opListFailuresForLicenseConfigurationOperations = "ListFailuresForLicenseConfigurationOperations" + +// ListFailuresForLicenseConfigurationOperationsRequest generates a "aws/request.Request" representing the +// client's request for the ListFailuresForLicenseConfigurationOperations 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 ListFailuresForLicenseConfigurationOperations for more information on using the ListFailuresForLicenseConfigurationOperations +// 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 ListFailuresForLicenseConfigurationOperationsRequest method. +// req, resp := client.ListFailuresForLicenseConfigurationOperationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListFailuresForLicenseConfigurationOperations +func (c *LicenseManager) ListFailuresForLicenseConfigurationOperationsRequest(input *ListFailuresForLicenseConfigurationOperationsInput) (req *request.Request, output *ListFailuresForLicenseConfigurationOperationsOutput) { + op := &request.Operation{ + Name: opListFailuresForLicenseConfigurationOperations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListFailuresForLicenseConfigurationOperationsInput{} + } + + output = &ListFailuresForLicenseConfigurationOperationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFailuresForLicenseConfigurationOperations API operation for AWS License Manager. +// +// Lists the license configuration operations that failed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS License Manager's +// API operation ListFailuresForLicenseConfigurationOperations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameter values are not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The server experienced an internal error. Try again. +// +// * ErrCodeAuthorizationException "AuthorizationException" +// The AWS user account does not have permission to perform the action. Check +// the IAM policy associated with this account. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to resource denied. +// +// * ErrCodeRateLimitExceededException "RateLimitExceededException" +// Too many requests have been submitted. Try again after a brief wait. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListFailuresForLicenseConfigurationOperations +func (c *LicenseManager) ListFailuresForLicenseConfigurationOperations(input *ListFailuresForLicenseConfigurationOperationsInput) (*ListFailuresForLicenseConfigurationOperationsOutput, error) { + req, out := c.ListFailuresForLicenseConfigurationOperationsRequest(input) + return out, req.Send() +} + +// ListFailuresForLicenseConfigurationOperationsWithContext is the same as ListFailuresForLicenseConfigurationOperations with the addition of +// the ability to pass a context and additional request options. +// +// See ListFailuresForLicenseConfigurationOperations 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 *LicenseManager) ListFailuresForLicenseConfigurationOperationsWithContext(ctx aws.Context, input *ListFailuresForLicenseConfigurationOperationsInput, opts ...request.Option) (*ListFailuresForLicenseConfigurationOperationsOutput, error) { + req, out := c.ListFailuresForLicenseConfigurationOperationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListLicenseConfigurations = "ListLicenseConfigurations" // ListLicenseConfigurationsRequest generates a "aws/request.Request" representing the @@ -533,9 +626,7 @@ func (c *LicenseManager) ListLicenseConfigurationsRequest(input *ListLicenseConf // ListLicenseConfigurations API operation for AWS License Manager. // -// Lists license configuration objects for an account, each containing the name, -// description, license type, and other license terms modeled from a license -// agreement. +// Lists the license configurations for your 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 @@ -630,7 +721,7 @@ func (c *LicenseManager) ListLicenseSpecificationsForResourceRequest(input *List // ListLicenseSpecificationsForResource API operation for AWS License Manager. // -// Returns the license configuration for a resource. +// Describes the license configurations for the specified 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 @@ -722,7 +813,7 @@ func (c *LicenseManager) ListResourceInventoryRequest(input *ListResourceInvento // ListResourceInventory API operation for AWS License Manager. // -// Returns a detailed list of resources. +// Lists resources managed using Systems Manager inventory. // // 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 @@ -820,7 +911,7 @@ func (c *LicenseManager) ListTagsForResourceRequest(input *ListTagsForResourceIn // ListTagsForResource API operation for AWS License Manager. // -// Lists tags attached to a resource. +// Lists the tags for the specified license configuration. // // 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 @@ -1010,7 +1101,7 @@ func (c *LicenseManager) TagResourceRequest(input *TagResourceInput) (req *reque // TagResource API operation for AWS License Manager. // -// Attach one of more tags to any resource. +// Adds the specified tags to the specified license configuration. // // 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 @@ -1103,7 +1194,7 @@ func (c *LicenseManager) UntagResourceRequest(input *UntagResourceInput) (req *r // UntagResource API operation for AWS License Manager. // -// Remove tags from a resource. +// Removes the specified tags from the specified license configuration. // // 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 @@ -1196,12 +1287,14 @@ func (c *LicenseManager) UpdateLicenseConfigurationRequest(input *UpdateLicenseC // UpdateLicenseConfiguration API operation for AWS License Manager. // -// Modifies the attributes of an existing license configuration object. A license -// configuration is an abstraction of a customer license agreement that can -// be consumed and enforced by License Manager. Components include specifications -// for the license type (Instances, cores, sockets, VCPUs), tenancy (shared -// or Dedicated Host), host affinity (how long a VM is associated with a host), -// the number of licenses purchased and used. +// Modifies the attributes of an existing license configuration. +// +// A license configuration is an abstraction of a customer license agreement +// that can be consumed and enforced by License Manager. Components include +// specifications for the license type (licensing by instance, socket, CPU, +// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated +// Host, or all of these), host affinity (how long a VM must be associated with +// a host), and the number of licenses purchased and used. // // 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 @@ -1294,11 +1387,13 @@ func (c *LicenseManager) UpdateLicenseSpecificationsForResourceRequest(input *Up // UpdateLicenseSpecificationsForResource API operation for AWS License Manager. // -// Adds or removes license configurations for a specified AWS resource. This -// operation currently supports updating the license specifications of AMIs, -// instances, and hosts. Launch templates and AWS CloudFormation templates are -// not managed from this operation as those resources send the license configurations -// directly to a resource creation operation, such as RunInstances. +// Adds or removes the specified license configurations for the specified AWS +// resource. +// +// You can update the license specifications of AMIs, instances, and hosts. +// You cannot update the license specifications for launch templates and AWS +// CloudFormation templates, as they send license configurations to the operation +// that creates the 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 @@ -1400,7 +1495,7 @@ func (c *LicenseManager) UpdateServiceSettingsRequest(input *UpdateServiceSettin // UpdateServiceSettings API operation for AWS License Manager. // -// Updates License Manager service settings. +// Updates License Manager settings for the current Region. // // 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 @@ -1448,14 +1543,38 @@ func (c *LicenseManager) UpdateServiceSettingsWithContext(ctx aws.Context, input return out, req.Send() } +// Describes automated discovery. +type AutomatedDiscoveryInformation struct { + _ struct{} `type:"structure"` + + // Time that automated discovery last ran. + LastRunTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s AutomatedDiscoveryInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomatedDiscoveryInformation) GoString() string { + return s.String() +} + +// SetLastRunTime sets the LastRunTime field's value. +func (s *AutomatedDiscoveryInformation) SetLastRunTime(v time.Time) *AutomatedDiscoveryInformation { + s.LastRunTime = &v + return s +} + // Details about license consumption. type ConsumedLicenseSummary struct { _ struct{} `type:"structure"` - // Number of licenses consumed by a resource. + // Number of licenses consumed by the resource. ConsumedLicenses *int64 `type:"long"` - // Resource type of the resource consuming a license (instance, host, or AMI). + // Resource type of the resource consuming a license. ResourceType *string `type:"string" enum:"ResourceType"` } @@ -1484,22 +1603,33 @@ func (s *ConsumedLicenseSummary) SetResourceType(v string) *ConsumedLicenseSumma type CreateLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // Human-friendly description of the license configuration. + // Description of the license configuration. Description *string `type:"string"` // Number of licenses managed by the license configuration. LicenseCount *int64 `type:"long"` - // Flag indicating whether hard or soft license enforcement is used. Exceeding - // a hard limit results in the blocked deployment of new instances. + // Indicates whether hard or soft license enforcement is used. Exceeding a hard + // limit blocks the launch of new instances. LicenseCountHardLimit *bool `type:"boolean"` - // Dimension to use to track the license inventory. + // Dimension used to track the license inventory. // // LicenseCountingType is a required field LicenseCountingType *string `type:"string" required:"true" enum:"LicenseCountingType"` - // Array of configured License Manager rules. + // License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). + // Available rules vary by dimension. + // + // * Cores dimension: allowedTenancy | maximumCores | minimumCores + // + // * Instances dimension: allowedTenancy | maximumCores | minimumCores | + // maximumSockets | minimumSockets | maximumVcpus | minimumVcpus + // + // * Sockets dimension: allowedTenancy | maximumSockets | minimumSockets + // + // * vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus + // | minimumVcpus LicenseRules []*string `type:"list"` // Name of the license configuration. @@ -1507,10 +1637,10 @@ type CreateLicenseConfigurationInput struct { // Name is a required field Name *string `type:"string" required:"true"` - // The tags to apply to the resources during launch. You can only tag instances - // and volumes on launch. The specified tags are applied to all instances or - // volumes that are created during launch. To tag a resource after it has been - // created, see CreateTags . + // Product information. + ProductInformationList []*ProductInformation `type:"list"` + + // Tags to add to the license configuration. Tags []*Tag `type:"list"` } @@ -1533,6 +1663,16 @@ func (s *CreateLicenseConfigurationInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.ProductInformationList != nil { + for i, v := range s.ProductInformationList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationList", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1576,6 +1716,12 @@ func (s *CreateLicenseConfigurationInput) SetName(v string) *CreateLicenseConfig return s } +// SetProductInformationList sets the ProductInformationList field's value. +func (s *CreateLicenseConfigurationInput) SetProductInformationList(v []*ProductInformation) *CreateLicenseConfigurationInput { + s.ProductInformationList = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateLicenseConfigurationInput) SetTags(v []*Tag) *CreateLicenseConfigurationInput { s.Tags = v @@ -1585,7 +1731,7 @@ func (s *CreateLicenseConfigurationInput) SetTags(v []*Tag) *CreateLicenseConfig type CreateLicenseConfigurationOutput struct { _ struct{} `type:"structure"` - // ARN of the license configuration object after its creation. + // Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn *string `type:"string"` } @@ -1608,7 +1754,7 @@ func (s *CreateLicenseConfigurationOutput) SetLicenseConfigurationArn(v string) type DeleteLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // Unique ID of the configuration object to delete. + // ID of the license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` @@ -1657,18 +1803,16 @@ func (s DeleteLicenseConfigurationOutput) GoString() string { return s.String() } -// A filter name and value pair that is used to return a more specific list -// of results from a describe operation. Filters can be used to match a set -// of resources by specific criteria, such as tags, attributes, or IDs. The -// filters supported by a Describe operation are documented with the Describe -// operation. +// A filter name and value pair that is used to return more specific results +// from a describe 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"` // Name of the filter. Filter names are case-sensitive. Name *string `type:"string"` - // One or more filter values. Filter values are case-sensitive. + // Filter values. Filter values are case-sensitive. Values []*string `type:"list"` } @@ -1697,7 +1841,7 @@ func (s *Filter) SetValues(v []*string) *Filter { type GetLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // ARN of the license configuration being requested. + // Amazon Resource Name (ARN) of the license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` @@ -1735,7 +1879,10 @@ func (s *GetLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *Get type GetLicenseConfigurationOutput struct { _ struct{} `type:"structure"` - // List of summaries for consumed licenses used by various resources. + // Automated discovery information. + AutomatedDiscoveryInformation *AutomatedDiscoveryInformation `type:"structure"` + + // Summaries of the licenses consumed by resources. ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"` // Number of licenses assigned to resources. @@ -1744,7 +1891,7 @@ type GetLicenseConfigurationOutput struct { // Description of the license configuration. Description *string `type:"string"` - // ARN of the license configuration requested. + // Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn *string `type:"string"` // Unique ID for the license configuration. @@ -1756,26 +1903,28 @@ type GetLicenseConfigurationOutput struct { // Sets the number of available licenses as a hard limit. LicenseCountHardLimit *bool `type:"boolean"` - // Dimension on which the licenses are counted (for example, instances, cores, - // sockets, or VCPUs). + // Dimension on which the licenses are counted. LicenseCountingType *string `type:"string" enum:"LicenseCountingType"` - // List of flexible text strings designating license rules. + // License rules. LicenseRules []*string `type:"list"` - // List of summaries of managed resources. + // Summaries of the managed resources. ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"` // Name of the license configuration. Name *string `type:"string"` - // Owner account ID for the license configuration. + // Account ID of the owner of the license configuration. OwnerAccountId *string `type:"string"` - // License configuration status (active, etc.). + // Product information. + ProductInformationList []*ProductInformation `type:"list"` + + // License configuration status. Status *string `type:"string"` - // List of tags attached to the license configuration. + // Tags for the license configuration. Tags []*Tag `type:"list"` } @@ -1789,6 +1938,12 @@ func (s GetLicenseConfigurationOutput) GoString() string { return s.String() } +// SetAutomatedDiscoveryInformation sets the AutomatedDiscoveryInformation field's value. +func (s *GetLicenseConfigurationOutput) SetAutomatedDiscoveryInformation(v *AutomatedDiscoveryInformation) *GetLicenseConfigurationOutput { + s.AutomatedDiscoveryInformation = v + return s +} + // SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value. func (s *GetLicenseConfigurationOutput) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *GetLicenseConfigurationOutput { s.ConsumedLicenseSummaryList = v @@ -1861,6 +2016,12 @@ func (s *GetLicenseConfigurationOutput) SetOwnerAccountId(v string) *GetLicenseC return s } +// SetProductInformationList sets the ProductInformationList field's value. +func (s *GetLicenseConfigurationOutput) SetProductInformationList(v []*ProductInformation) *GetLicenseConfigurationOutput { + s.ProductInformationList = v + return s +} + // SetStatus sets the Status field's value. func (s *GetLicenseConfigurationOutput) SetStatus(v string) *GetLicenseConfigurationOutput { s.Status = &v @@ -1893,12 +2054,16 @@ type GetServiceSettingsOutput struct { // Indicates whether cross-account discovery has been enabled. EnableCrossAccountsDiscovery *bool `type:"boolean"` + // Amazon Resource Name (ARN) of the AWS resource share. The License Manager + // master account will provide member accounts with access to this share. + LicenseManagerResourceShareArn *string `type:"string"` + // Indicates whether AWS Organizations has been integrated with License Manager // for cross-account discovery. OrganizationConfiguration *OrganizationConfiguration `type:"structure"` // Regional S3 bucket path for storing reports, license trail event data, discovery - // data, etc. + // data, and so on. S3BucketArn *string `type:"string"` // SNS topic configured to receive notifications from License Manager. @@ -1921,6 +2086,12 @@ func (s *GetServiceSettingsOutput) SetEnableCrossAccountsDiscovery(v bool) *GetS return s } +// SetLicenseManagerResourceShareArn sets the LicenseManagerResourceShareArn field's value. +func (s *GetServiceSettingsOutput) SetLicenseManagerResourceShareArn(v string) *GetServiceSettingsOutput { + s.LicenseManagerResourceShareArn = &v + return s +} + // SetOrganizationConfiguration sets the OrganizationConfiguration field's value. func (s *GetServiceSettingsOutput) SetOrganizationConfiguration(v *OrganizationConfiguration) *GetServiceSettingsOutput { s.OrganizationConfiguration = v @@ -1939,16 +2110,16 @@ func (s *GetServiceSettingsOutput) SetSnsTopicArn(v string) *GetServiceSettingsO return s } -// An inventory filter object. +// An inventory filter. type InventoryFilter struct { _ struct{} `type:"structure"` - // The condition of the filter. + // Condition of the filter. // // Condition is a required field Condition *string `type:"string" required:"true" enum:"InventoryFilterCondition"` - // The name of the filter. + // Name of the filter. // // Name is a required field Name *string `type:"string" required:"true"` @@ -2004,13 +2175,16 @@ func (s *InventoryFilter) SetValue(v string) *InventoryFilter { // A license configuration is an abstraction of a customer license agreement // that can be consumed and enforced by License Manager. Components include // specifications for the license type (licensing by instance, socket, CPU, -// or VCPU), tenancy (shared tenancy, Amazon EC2 Dedicated Instance, Amazon -// EC2 Dedicated Host, or any of these), host affinity (how long a VM must be -// associated with a host), the number of licenses purchased and used. +// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated +// Host, or all of these), host affinity (how long a VM must be associated with +// a host), and the number of licenses purchased and used. type LicenseConfiguration struct { _ struct{} `type:"structure"` - // List of summaries for licenses consumed by various resources. + // Automated discovery information. + AutomatedDiscoveryInformation *AutomatedDiscoveryInformation `type:"structure"` + + // Summaries for licenses consumed by various resources. ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"` // Number of licenses consumed. @@ -2019,25 +2193,25 @@ type LicenseConfiguration struct { // Description of the license configuration. Description *string `type:"string"` - // ARN of the LicenseConfiguration object. + // Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn *string `type:"string"` - // Unique ID of the LicenseConfiguration object. + // Unique ID of the license configuration. LicenseConfigurationId *string `type:"string"` // Number of licenses managed by the license configuration. LicenseCount *int64 `type:"long"` - // Sets the number of available licenses as a hard limit. + // Number of available licenses as a hard limit. LicenseCountHardLimit *bool `type:"boolean"` - // Dimension to use to track license inventory. + // Dimension to use to track the license inventory. LicenseCountingType *string `type:"string" enum:"LicenseCountingType"` - // Array of configured License Manager rules. + // License rules. LicenseRules []*string `type:"list"` - // List of summaries for managed resources. + // Summaries for managed resources. ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"` // Name of the license configuration. @@ -2046,6 +2220,9 @@ type LicenseConfiguration struct { // Account ID of the license configuration's owner. OwnerAccountId *string `type:"string"` + // Product information. + ProductInformationList []*ProductInformation `type:"list"` + // Status of the license configuration. Status *string `type:"string"` } @@ -2060,6 +2237,12 @@ func (s LicenseConfiguration) GoString() string { return s.String() } +// SetAutomatedDiscoveryInformation sets the AutomatedDiscoveryInformation field's value. +func (s *LicenseConfiguration) SetAutomatedDiscoveryInformation(v *AutomatedDiscoveryInformation) *LicenseConfiguration { + s.AutomatedDiscoveryInformation = v + return s +} + // SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value. func (s *LicenseConfiguration) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *LicenseConfiguration { s.ConsumedLicenseSummaryList = v @@ -2132,20 +2315,26 @@ func (s *LicenseConfiguration) SetOwnerAccountId(v string) *LicenseConfiguration return s } +// SetProductInformationList sets the ProductInformationList field's value. +func (s *LicenseConfiguration) SetProductInformationList(v []*ProductInformation) *LicenseConfiguration { + s.ProductInformationList = v + return s +} + // SetStatus sets the Status field's value. func (s *LicenseConfiguration) SetStatus(v string) *LicenseConfiguration { s.Status = &v return s } -// Describes a server resource that is associated with a license configuration. +// Describes an association with a license configuration. type LicenseConfigurationAssociation struct { _ struct{} `type:"structure"` // Time when the license configuration was associated with the resource. AssociationTime *time.Time `type:"timestamp"` - // ARN of the resource associated with the license configuration. + // Amazon Resource Name (ARN) of the resource. ResourceArn *string `type:"string"` // ID of the AWS account that owns the resource consuming licenses. @@ -2189,27 +2378,26 @@ func (s *LicenseConfigurationAssociation) SetResourceType(v string) *LicenseConf return s } -// Contains details of the usage of each resource from the license pool. +// Details about the usage of a resource associated with a license configuration. type LicenseConfigurationUsage struct { _ struct{} `type:"structure"` - // Time when the license configuration was initially associated with a resource. + // Time when the license configuration was initially associated with the resource. AssociationTime *time.Time `type:"timestamp"` - // Number of licenses consumed out of the total provisioned in the license configuration. + // Number of licenses consumed by the resource. ConsumedLicenses *int64 `type:"long"` - // ARN of the resource associated with a license configuration. + // Amazon Resource Name (ARN) of the resource. ResourceArn *string `type:"string"` - // ID of the account that owns a resource that is associated with the license - // configuration. + // ID of the account that owns the resource. ResourceOwnerId *string `type:"string"` - // Status of a resource associated with the license configuration. + // Status of the resource. ResourceStatus *string `type:"string"` - // Type of resource associated with athe license configuration. + // Type of resource. ResourceType *string `type:"string" enum:"ResourceType"` } @@ -2259,11 +2447,98 @@ func (s *LicenseConfigurationUsage) SetResourceType(v string) *LicenseConfigurat return s } -// Object used for associating a license configuration with a resource. +// Describes the failure of a license operation. +type LicenseOperationFailure struct { + _ struct{} `type:"structure"` + + // Error message. + ErrorMessage *string `type:"string"` + + // Failure time. + FailureTime *time.Time `type:"timestamp"` + + // Reserved. + MetadataList []*Metadata `type:"list"` + + // Name of the operation. + OperationName *string `type:"string"` + + // The requester is "License Manager Automated Discovery". + OperationRequestedBy *string `type:"string"` + + // Amazon Resource Name (ARN) of the resource. + ResourceArn *string `type:"string"` + + // ID of the AWS account that owns the resource. + ResourceOwnerId *string `type:"string"` + + // Resource type. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s LicenseOperationFailure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseOperationFailure) GoString() string { + return s.String() +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *LicenseOperationFailure) SetErrorMessage(v string) *LicenseOperationFailure { + s.ErrorMessage = &v + return s +} + +// SetFailureTime sets the FailureTime field's value. +func (s *LicenseOperationFailure) SetFailureTime(v time.Time) *LicenseOperationFailure { + s.FailureTime = &v + return s +} + +// SetMetadataList sets the MetadataList field's value. +func (s *LicenseOperationFailure) SetMetadataList(v []*Metadata) *LicenseOperationFailure { + s.MetadataList = v + return s +} + +// SetOperationName sets the OperationName field's value. +func (s *LicenseOperationFailure) SetOperationName(v string) *LicenseOperationFailure { + s.OperationName = &v + return s +} + +// SetOperationRequestedBy sets the OperationRequestedBy field's value. +func (s *LicenseOperationFailure) SetOperationRequestedBy(v string) *LicenseOperationFailure { + s.OperationRequestedBy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *LicenseOperationFailure) SetResourceArn(v string) *LicenseOperationFailure { + s.ResourceArn = &v + return s +} + +// SetResourceOwnerId sets the ResourceOwnerId field's value. +func (s *LicenseOperationFailure) SetResourceOwnerId(v string) *LicenseOperationFailure { + s.ResourceOwnerId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *LicenseOperationFailure) SetResourceType(v string) *LicenseOperationFailure { + s.ResourceType = &v + return s +} + +// Details for associating a license configuration with a resource. type LicenseSpecification struct { _ struct{} `type:"structure"` - // ARN of the LicenseConfiguration object. + // Amazon Resource Name (ARN) of the license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` @@ -2301,13 +2576,12 @@ func (s *LicenseSpecification) SetLicenseConfigurationArn(v string) *LicenseSpec type ListAssociationsForLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // ARN of a LicenseConfiguration object. + // Amazon Resource Name (ARN) of a license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` - // Maximum number of results to return in a single call. To retrieve the remaining - // results, make another call with the returned NextToken value. + // Maximum number of results to return in a single call. MaxResults *int64 `type:"integer"` // Token for the next set of results. @@ -2358,9 +2632,7 @@ func (s *ListAssociationsForLicenseConfigurationInput) SetNextToken(v string) *L type ListAssociationsForLicenseConfigurationOutput struct { _ struct{} `type:"structure"` - // Lists association objects for the license configuration, each containing - // the association time, number of consumed licenses, resource ARN, resource - // ID, account ID that owns the resource, resource size, and resource type. + // Information about the associations for the license configuration. LicenseConfigurationAssociations []*LicenseConfigurationAssociation `type:"list"` // Token for the next set of results. @@ -2389,17 +2661,114 @@ func (s *ListAssociationsForLicenseConfigurationOutput) SetNextToken(v string) * return s } +type ListFailuresForLicenseConfigurationOperationsInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name of the license configuration. + // + // LicenseConfigurationArn is a required field + LicenseConfigurationArn *string `type:"string" required:"true"` + + // Maximum number of results to return in a single call. + MaxResults *int64 `type:"integer"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListFailuresForLicenseConfigurationOperationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFailuresForLicenseConfigurationOperationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFailuresForLicenseConfigurationOperationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFailuresForLicenseConfigurationOperationsInput"} + if s.LicenseConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *ListFailuresForLicenseConfigurationOperationsInput) SetLicenseConfigurationArn(v string) *ListFailuresForLicenseConfigurationOperationsInput { + s.LicenseConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFailuresForLicenseConfigurationOperationsInput) SetMaxResults(v int64) *ListFailuresForLicenseConfigurationOperationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFailuresForLicenseConfigurationOperationsInput) SetNextToken(v string) *ListFailuresForLicenseConfigurationOperationsInput { + s.NextToken = &v + return s +} + +type ListFailuresForLicenseConfigurationOperationsOutput struct { + _ struct{} `type:"structure"` + + // License configuration operations that failed. + LicenseOperationFailureList []*LicenseOperationFailure `type:"list"` + + // Token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListFailuresForLicenseConfigurationOperationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFailuresForLicenseConfigurationOperationsOutput) GoString() string { + return s.String() +} + +// SetLicenseOperationFailureList sets the LicenseOperationFailureList field's value. +func (s *ListFailuresForLicenseConfigurationOperationsOutput) SetLicenseOperationFailureList(v []*LicenseOperationFailure) *ListFailuresForLicenseConfigurationOperationsOutput { + s.LicenseOperationFailureList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFailuresForLicenseConfigurationOperationsOutput) SetNextToken(v string) *ListFailuresForLicenseConfigurationOperationsOutput { + s.NextToken = &v + return s +} + type ListLicenseConfigurationsInput struct { _ struct{} `type:"structure"` - // One or more filters. + // Filters to scope the results. The following filters and logical operators + // are supported: + // + // * licenseCountingType - The dimension on which licenses are counted (vCPU). + // Logical operators are EQUALS | NOT_EQUALS. + // + // * enforceLicenseCount - A Boolean value that indicates whether hard license + // enforcement is used. Logical operators are EQUALS | NOT_EQUALS. + // + // * usagelimitExceeded - A Boolean value that indicates whether the available + // licenses have been exceeded. Logical operators are EQUALS | NOT_EQUALS. Filters []*Filter `type:"list"` - // An array of ARNs for the calling account’s license configurations. + // Amazon Resource Names (ARN) of the license configurations. LicenseConfigurationArns []*string `type:"list"` - // Maximum number of results to return in a single call. To retrieve the remaining - // results, make another call with the returned NextToken value. + // Maximum number of results to return in a single call. MaxResults *int64 `type:"integer"` // Token for the next set of results. @@ -2443,7 +2812,7 @@ func (s *ListLicenseConfigurationsInput) SetNextToken(v string) *ListLicenseConf type ListLicenseConfigurationsOutput struct { _ struct{} `type:"structure"` - // Array of license configuration objects. + // Information about the license configurations. LicenseConfigurations []*LicenseConfiguration `type:"list"` // Token for the next set of results. @@ -2475,14 +2844,13 @@ func (s *ListLicenseConfigurationsOutput) SetNextToken(v string) *ListLicenseCon type ListLicenseSpecificationsForResourceInput struct { _ struct{} `type:"structure"` - // Maximum number of results to return in a single call. To retrieve the remaining - // results, make another call with the returned NextToken value. + // Maximum number of results to return in a single call. MaxResults *int64 `type:"integer"` // Token for the next set of results. NextToken *string `type:"string"` - // ARN of an AMI or Amazon EC2 instance that has an associated license configuration. + // Amazon Resource Name (ARN) of a resource that has an associated license configuration. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` @@ -2564,11 +2932,27 @@ func (s *ListLicenseSpecificationsForResourceOutput) SetNextToken(v string) *Lis type ListResourceInventoryInput struct { _ struct{} `type:"structure"` - // One or more filters. + // Filters to scope the results. The following filters and logical operators + // are supported: + // + // * account_id - The ID of the AWS account that owns the resource. Logical + // operators are EQUALS | NOT_EQUALS. + // + // * application_name - The name of the application. Logical operators are + // EQUALS | BEGINS_WITH. + // + // * license_included - The type of license included. Logical operators are + // EQUALS | NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard + // | sql-server-web | windows-server-datacenter. + // + // * platform - The platform of the resource. Logical operators are EQUALS + // | BEGINS_WITH. + // + // * resource_id - The ID of the resource. Logical operators are EQUALS | + // NOT_EQUALS. Filters []*InventoryFilter `type:"list"` - // Maximum number of results to return in a single call. To retrieve the remaining - // results, make another call with the returned NextToken value. + // Maximum number of results to return in a single call. MaxResults *int64 `type:"integer"` // Token for the next set of results. @@ -2629,7 +3013,7 @@ type ListResourceInventoryOutput struct { // Token for the next set of results. NextToken *string `type:"string"` - // The detailed list of resources. + // Information about the resources. ResourceInventoryList []*ResourceInventory `type:"list"` } @@ -2658,7 +3042,7 @@ func (s *ListResourceInventoryOutput) SetResourceInventoryList(v []*ResourceInve type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // ARN for the resource. + // Amazon Resource Name (ARN) of the license configuration. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` @@ -2696,7 +3080,7 @@ func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResource type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // List of tags attached to the resource. + // Information about the tags. Tags []*Tag `type:"list"` } @@ -2719,16 +3103,25 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput type ListUsageForLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // List of filters to apply. + // Filters to scope the results. The following filters and logical operators + // are supported: + // + // * resourceArn - The ARN of the license configuration resource. Logical + // operators are EQUALS | NOT_EQUALS. + // + // * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI + // | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS. + // + // * resourceAccount - The ID of the account that owns the resource. Logical + // operators are EQUALS | NOT_EQUALS. Filters []*Filter `type:"list"` - // ARN of the targeted LicenseConfiguration object. + // Amazon Resource Name (ARN) of the license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` - // Maximum number of results to return in a single call. To retrieve the remaining - // results, make another call with the returned NextToken value. + // Maximum number of results to return in a single call. MaxResults *int64 `type:"integer"` // Token for the next set of results. @@ -2785,7 +3178,7 @@ func (s *ListUsageForLicenseConfigurationInput) SetNextToken(v string) *ListUsag type ListUsageForLicenseConfigurationOutput struct { _ struct{} `type:"structure"` - // An array of LicenseConfigurationUsage objects. + // Information about the license configurations. LicenseConfigurationUsageList []*LicenseConfigurationUsage `type:"list"` // Token for the next set of results. @@ -2814,14 +3207,14 @@ func (s *ListUsageForLicenseConfigurationOutput) SetNextToken(v string) *ListUsa return s } -// Summary for a resource. +// Summary information about a managed resource. type ManagedResourceSummary struct { _ struct{} `type:"structure"` // Number of resources associated with licenses. AssociationCount *int64 `type:"long"` - // Type of resource associated with a license (instance, host, or AMI). + // Type of resource associated with a license. ResourceType *string `type:"string" enum:"ResourceType"` } @@ -2847,11 +3240,44 @@ func (s *ManagedResourceSummary) SetResourceType(v string) *ManagedResourceSumma return s } -// Object containing configuration information for AWS Organizations. +// Reserved. +type Metadata struct { + _ struct{} `type:"structure"` + + // Reserved. + Name *string `type:"string"` + + // Reserved. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Metadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Metadata) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Metadata) SetName(v string) *Metadata { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Metadata) SetValue(v string) *Metadata { + s.Value = &v + return s +} + +// Configuration information for AWS Organizations. type OrganizationConfiguration struct { _ struct{} `type:"structure"` - // Flag to activate AWS Organization integration. + // Enables AWS Organization integration. // // EnableIntegration is a required field EnableIntegration *bool `type:"boolean" required:"true"` @@ -2886,26 +3312,174 @@ func (s *OrganizationConfiguration) SetEnableIntegration(v bool) *OrganizationCo return s } -// A set of attributes that describe a resource. +// Describes product information for a license configuration. +type ProductInformation struct { + _ struct{} `type:"structure"` + + // Product information filters. The following filters and logical operators + // are supported: + // + // * Application Name - The name of the application. Logical operator is + // EQUALS. + // + // * Application Publisher - The publisher of the application. Logical operator + // is EQUALS. + // + // * Application Version - The version of the application. Logical operator + // is EQUALS. + // + // * Platform Name - The name of the platform. Logical operator is EQUALS. + // + // * Platform Type - The platform type. Logical operator is EQUALS. + // + // * License Included - The type of license included. Logical operators are + // EQUALS and NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard + // | sql-server-web | windows-server-datacenter. + // + // ProductInformationFilterList is a required field + ProductInformationFilterList []*ProductInformationFilter `type:"list" required:"true"` + + // Resource type. The value is SSM_MANAGED. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ProductInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProductInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProductInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProductInformation"} + if s.ProductInformationFilterList == nil { + invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterList")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ProductInformationFilterList != nil { + for i, v := range s.ProductInformationFilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationFilterList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProductInformationFilterList sets the ProductInformationFilterList field's value. +func (s *ProductInformation) SetProductInformationFilterList(v []*ProductInformationFilter) *ProductInformation { + s.ProductInformationFilterList = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ProductInformation) SetResourceType(v string) *ProductInformation { + s.ResourceType = &v + return s +} + +// Describes product information filters. +type ProductInformationFilter struct { + _ struct{} `type:"structure"` + + // Logical operator. + // + // ProductInformationFilterComparator is a required field + ProductInformationFilterComparator *string `type:"string" required:"true"` + + // Filter name. + // + // ProductInformationFilterName is a required field + ProductInformationFilterName *string `type:"string" required:"true"` + + // Filter value. + // + // ProductInformationFilterValue is a required field + ProductInformationFilterValue []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ProductInformationFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProductInformationFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProductInformationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProductInformationFilter"} + if s.ProductInformationFilterComparator == nil { + invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterComparator")) + } + if s.ProductInformationFilterName == nil { + invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterName")) + } + if s.ProductInformationFilterValue == nil { + invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProductInformationFilterComparator sets the ProductInformationFilterComparator field's value. +func (s *ProductInformationFilter) SetProductInformationFilterComparator(v string) *ProductInformationFilter { + s.ProductInformationFilterComparator = &v + return s +} + +// SetProductInformationFilterName sets the ProductInformationFilterName field's value. +func (s *ProductInformationFilter) SetProductInformationFilterName(v string) *ProductInformationFilter { + s.ProductInformationFilterName = &v + return s +} + +// SetProductInformationFilterValue sets the ProductInformationFilterValue field's value. +func (s *ProductInformationFilter) SetProductInformationFilterValue(v []*string) *ProductInformationFilter { + s.ProductInformationFilterValue = v + return s +} + +// Details about a resource. type ResourceInventory struct { _ struct{} `type:"structure"` - // The platform of the resource. + // Platform of the resource. Platform *string `type:"string"` // Platform version of the resource in the inventory. PlatformVersion *string `type:"string"` - // The ARN of the resource. + // Amazon Resource Name (ARN) of the resource. ResourceArn *string `type:"string"` - // Unique ID of the resource. + // ID of the resource. ResourceId *string `type:"string"` - // Unique ID of the account that owns the resource. + // ID of the account that owns the resource. ResourceOwningAccountId *string `type:"string"` - // The type of resource. + // Type of resource. ResourceType *string `type:"string" enum:"ResourceType"` } @@ -2955,14 +3529,14 @@ func (s *ResourceInventory) SetResourceType(v string) *ResourceInventory { return s } -// Tag for a resource in a key-value format. +// Details about a tag for a license configuration. type Tag struct { _ struct{} `type:"structure"` - // Key for the resource tag. + // Tag key. Key *string `type:"string"` - // Value for the resource tag. + // Tag value. Value *string `type:"string"` } @@ -2991,12 +3565,12 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // Resource of the ARN to be tagged. + // Amazon Resource Name (ARN) of the license configuration. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // Names of the tags to attach to the resource. + // One or more tags. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -3057,12 +3631,12 @@ func (s TagResourceOutput) GoString() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // ARN of the resource. + // Amazon Resource Name (ARN) of the license configuration. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // List keys identifying tags to remove. + // Keys identifying the tags to remove. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -3123,28 +3697,31 @@ func (s UntagResourceOutput) GoString() string { type UpdateLicenseConfigurationInput struct { _ struct{} `type:"structure"` - // New human-friendly description of the license configuration. + // New description of the license configuration. Description *string `type:"string"` - // ARN for a license configuration. + // Amazon Resource Name (ARN) of the license configuration. // // LicenseConfigurationArn is a required field LicenseConfigurationArn *string `type:"string" required:"true"` - // New status of the license configuration (ACTIVE or INACTIVE). + // New status of the license configuration. LicenseConfigurationStatus *string `type:"string" enum:"LicenseConfigurationStatus"` // New number of licenses managed by the license configuration. LicenseCount *int64 `type:"long"` - // Sets the number of available licenses as a hard limit. + // New hard limit of the number of available licenses. LicenseCountHardLimit *bool `type:"boolean"` - // List of flexible text strings designating license rules. + // New license rules. LicenseRules []*string `type:"list"` // New name of the license configuration. Name *string `type:"string"` + + // New product information. + ProductInformationList []*ProductInformation `type:"list"` } // String returns the string representation @@ -3163,6 +3740,16 @@ func (s *UpdateLicenseConfigurationInput) Validate() error { if s.LicenseConfigurationArn == nil { invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn")) } + if s.ProductInformationList != nil { + for i, v := range s.ProductInformationList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationList", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3212,6 +3799,12 @@ func (s *UpdateLicenseConfigurationInput) SetName(v string) *UpdateLicenseConfig return s } +// SetProductInformationList sets the ProductInformationList field's value. +func (s *UpdateLicenseConfigurationInput) SetProductInformationList(v []*ProductInformation) *UpdateLicenseConfigurationInput { + s.ProductInformationList = v + return s +} + type UpdateLicenseConfigurationOutput struct { _ struct{} `type:"structure"` } @@ -3229,13 +3822,13 @@ func (s UpdateLicenseConfigurationOutput) GoString() string { type UpdateLicenseSpecificationsForResourceInput struct { _ struct{} `type:"structure"` - // License configuration ARNs to be added to a resource. + // ARNs of the license configurations to add. AddLicenseSpecifications []*LicenseSpecification `type:"list"` - // License configuration ARNs to be removed from a resource. + // ARNs of the license configurations to remove. RemoveLicenseSpecifications []*LicenseSpecification `type:"list"` - // ARN for an AWS server resource. + // Amazon Resource Name (ARN) of the AWS resource. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` @@ -3322,13 +3915,15 @@ type UpdateServiceSettingsInput struct { // Activates cross-account discovery. EnableCrossAccountsDiscovery *bool `type:"boolean"` - // Integrates AWS Organizations with License Manager for cross-account discovery. + // Enables integration with AWS Organizations for cross-account discovery. OrganizationConfiguration *OrganizationConfiguration `type:"structure"` - // ARN of the Amazon S3 bucket where License Manager information is stored. + // Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager + // information is stored. S3BucketArn *string `type:"string"` - // ARN of the Amazon SNS topic used for License Manager alerts. + // Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager + // alerts. SnsTopicArn *string `type:"string"` } @@ -3440,4 +4035,10 @@ const ( // ResourceTypeEc2Ami is a ResourceType enum value ResourceTypeEc2Ami = "EC2_AMI" + + // ResourceTypeRds is a ResourceType enum value + ResourceTypeRds = "RDS" + + // ResourceTypeSystemsManagerManagedInstance is a ResourceType enum value + ResourceTypeSystemsManagerManagedInstance = "SYSTEMS_MANAGER_MANAGED_INSTANCE" ) diff --git a/service/licensemanager/doc.go b/service/licensemanager/doc.go index 14e09f5e4fb..f03d93418b6 100644 --- a/service/licensemanager/doc.go +++ b/service/licensemanager/doc.go @@ -3,14 +3,8 @@ // Package licensemanager provides the client and types for making API // requests to AWS License Manager. // -// This is the AWS License Manager API Reference. It provides descriptions, -// syntax, and usage examples for each of the actions and data types for License -// Manager. The topic for each action shows the Query API request parameters -// and the XML response. You can also view the XML request elements in the WSDL. -// -// Alternatively, you can use one of the AWS SDKs to access an API that's tailored -// to the programming language or platform that you're using. For more information, -// see AWS SDKs (http://aws.amazon.com/tools/#SDKs). +// AWS License Manager makes it easier to manage licenses from software vendors +// across multiple AWS accounts and on-premises servers. // // See https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01 for more information on this service. // diff --git a/service/licensemanager/licensemanageriface/interface.go b/service/licensemanager/licensemanageriface/interface.go index 818025c0c99..c9b63b82f39 100644 --- a/service/licensemanager/licensemanageriface/interface.go +++ b/service/licensemanager/licensemanageriface/interface.go @@ -80,6 +80,10 @@ type LicenseManagerAPI interface { ListAssociationsForLicenseConfigurationWithContext(aws.Context, *licensemanager.ListAssociationsForLicenseConfigurationInput, ...request.Option) (*licensemanager.ListAssociationsForLicenseConfigurationOutput, error) ListAssociationsForLicenseConfigurationRequest(*licensemanager.ListAssociationsForLicenseConfigurationInput) (*request.Request, *licensemanager.ListAssociationsForLicenseConfigurationOutput) + ListFailuresForLicenseConfigurationOperations(*licensemanager.ListFailuresForLicenseConfigurationOperationsInput) (*licensemanager.ListFailuresForLicenseConfigurationOperationsOutput, error) + ListFailuresForLicenseConfigurationOperationsWithContext(aws.Context, *licensemanager.ListFailuresForLicenseConfigurationOperationsInput, ...request.Option) (*licensemanager.ListFailuresForLicenseConfigurationOperationsOutput, error) + ListFailuresForLicenseConfigurationOperationsRequest(*licensemanager.ListFailuresForLicenseConfigurationOperationsInput) (*request.Request, *licensemanager.ListFailuresForLicenseConfigurationOperationsOutput) + ListLicenseConfigurations(*licensemanager.ListLicenseConfigurationsInput) (*licensemanager.ListLicenseConfigurationsOutput, error) ListLicenseConfigurationsWithContext(aws.Context, *licensemanager.ListLicenseConfigurationsInput, ...request.Option) (*licensemanager.ListLicenseConfigurationsOutput, error) ListLicenseConfigurationsRequest(*licensemanager.ListLicenseConfigurationsInput) (*request.Request, *licensemanager.ListLicenseConfigurationsOutput) diff --git a/service/schemas/api.go b/service/schemas/api.go new file mode 100644 index 00000000000..da391e14df1 --- /dev/null +++ b/service/schemas/api.go @@ -0,0 +1,5837 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package schemas + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateDiscoverer = "CreateDiscoverer" + +// CreateDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the CreateDiscoverer 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 CreateDiscoverer for more information on using the CreateDiscoverer +// 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 CreateDiscovererRequest method. +// req, resp := client.CreateDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateDiscoverer +func (c *Schemas) CreateDiscovererRequest(input *CreateDiscovererInput) (req *request.Request, output *CreateDiscovererOutput) { + op := &request.Operation{ + Name: opCreateDiscoverer, + HTTPMethod: "POST", + HTTPPath: "/v1/discoverers", + } + + if input == nil { + input = &CreateDiscovererInput{} + } + + output = &CreateDiscovererOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDiscoverer API operation for Schemas. +// +// Creates a discoverer. +// +// 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 Schemas's +// API operation CreateDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateDiscoverer +func (c *Schemas) CreateDiscoverer(input *CreateDiscovererInput) (*CreateDiscovererOutput, error) { + req, out := c.CreateDiscovererRequest(input) + return out, req.Send() +} + +// CreateDiscovererWithContext is the same as CreateDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDiscoverer 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 *Schemas) CreateDiscovererWithContext(ctx aws.Context, input *CreateDiscovererInput, opts ...request.Option) (*CreateDiscovererOutput, error) { + req, out := c.CreateDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRegistry = "CreateRegistry" + +// CreateRegistryRequest generates a "aws/request.Request" representing the +// client's request for the CreateRegistry 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 CreateRegistry for more information on using the CreateRegistry +// 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 CreateRegistryRequest method. +// req, resp := client.CreateRegistryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateRegistry +func (c *Schemas) CreateRegistryRequest(input *CreateRegistryInput) (req *request.Request, output *CreateRegistryOutput) { + op := &request.Operation{ + Name: opCreateRegistry, + HTTPMethod: "POST", + HTTPPath: "/v1/registries/name/{registryName}", + } + + if input == nil { + input = &CreateRegistryInput{} + } + + output = &CreateRegistryOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRegistry API operation for Schemas. +// +// Creates a registry. +// +// 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 Schemas's +// API operation CreateRegistry for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateRegistry +func (c *Schemas) CreateRegistry(input *CreateRegistryInput) (*CreateRegistryOutput, error) { + req, out := c.CreateRegistryRequest(input) + return out, req.Send() +} + +// CreateRegistryWithContext is the same as CreateRegistry with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRegistry 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 *Schemas) CreateRegistryWithContext(ctx aws.Context, input *CreateRegistryInput, opts ...request.Option) (*CreateRegistryOutput, error) { + req, out := c.CreateRegistryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSchema = "CreateSchema" + +// CreateSchemaRequest generates a "aws/request.Request" representing the +// client's request for the CreateSchema 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 CreateSchema for more information on using the CreateSchema +// 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 CreateSchemaRequest method. +// req, resp := client.CreateSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateSchema +func (c *Schemas) CreateSchemaRequest(input *CreateSchemaInput) (req *request.Request, output *CreateSchemaOutput) { + op := &request.Operation{ + Name: opCreateSchema, + HTTPMethod: "POST", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + } + + if input == nil { + input = &CreateSchemaInput{} + } + + output = &CreateSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSchema API operation for Schemas. +// +// Creates a schema definition. +// +// 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 Schemas's +// API operation CreateSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/CreateSchema +func (c *Schemas) CreateSchema(input *CreateSchemaInput) (*CreateSchemaOutput, error) { + req, out := c.CreateSchemaRequest(input) + return out, req.Send() +} + +// CreateSchemaWithContext is the same as CreateSchema with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSchema 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 *Schemas) CreateSchemaWithContext(ctx aws.Context, input *CreateSchemaInput, opts ...request.Option) (*CreateSchemaOutput, error) { + req, out := c.CreateSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDiscoverer = "DeleteDiscoverer" + +// DeleteDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDiscoverer 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 DeleteDiscoverer for more information on using the DeleteDiscoverer +// 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 DeleteDiscovererRequest method. +// req, resp := client.DeleteDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteDiscoverer +func (c *Schemas) DeleteDiscovererRequest(input *DeleteDiscovererInput) (req *request.Request, output *DeleteDiscovererOutput) { + op := &request.Operation{ + Name: opDeleteDiscoverer, + HTTPMethod: "DELETE", + HTTPPath: "/v1/discoverers/id/{discovererId}", + } + + if input == nil { + input = &DeleteDiscovererInput{} + } + + output = &DeleteDiscovererOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDiscoverer API operation for Schemas. +// +// Deletes a discoverer. +// +// 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 Schemas's +// API operation DeleteDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteDiscoverer +func (c *Schemas) DeleteDiscoverer(input *DeleteDiscovererInput) (*DeleteDiscovererOutput, error) { + req, out := c.DeleteDiscovererRequest(input) + return out, req.Send() +} + +// DeleteDiscovererWithContext is the same as DeleteDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDiscoverer 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 *Schemas) DeleteDiscovererWithContext(ctx aws.Context, input *DeleteDiscovererInput, opts ...request.Option) (*DeleteDiscovererOutput, error) { + req, out := c.DeleteDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRegistry = "DeleteRegistry" + +// DeleteRegistryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRegistry 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 DeleteRegistry for more information on using the DeleteRegistry +// 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 DeleteRegistryRequest method. +// req, resp := client.DeleteRegistryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteRegistry +func (c *Schemas) DeleteRegistryRequest(input *DeleteRegistryInput) (req *request.Request, output *DeleteRegistryOutput) { + op := &request.Operation{ + Name: opDeleteRegistry, + HTTPMethod: "DELETE", + HTTPPath: "/v1/registries/name/{registryName}", + } + + if input == nil { + input = &DeleteRegistryInput{} + } + + output = &DeleteRegistryOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRegistry API operation for Schemas. +// +// Deletes a Registry. +// +// 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 Schemas's +// API operation DeleteRegistry for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteRegistry +func (c *Schemas) DeleteRegistry(input *DeleteRegistryInput) (*DeleteRegistryOutput, error) { + req, out := c.DeleteRegistryRequest(input) + return out, req.Send() +} + +// DeleteRegistryWithContext is the same as DeleteRegistry with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRegistry 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 *Schemas) DeleteRegistryWithContext(ctx aws.Context, input *DeleteRegistryInput, opts ...request.Option) (*DeleteRegistryOutput, error) { + req, out := c.DeleteRegistryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSchema = "DeleteSchema" + +// DeleteSchemaRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSchema 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 DeleteSchema for more information on using the DeleteSchema +// 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 DeleteSchemaRequest method. +// req, resp := client.DeleteSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteSchema +func (c *Schemas) DeleteSchemaRequest(input *DeleteSchemaInput) (req *request.Request, output *DeleteSchemaOutput) { + op := &request.Operation{ + Name: opDeleteSchema, + HTTPMethod: "DELETE", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + } + + if input == nil { + input = &DeleteSchemaInput{} + } + + output = &DeleteSchemaOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSchema API operation for Schemas. +// +// Delete a schema definition. +// +// 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 Schemas's +// API operation DeleteSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteSchema +func (c *Schemas) DeleteSchema(input *DeleteSchemaInput) (*DeleteSchemaOutput, error) { + req, out := c.DeleteSchemaRequest(input) + return out, req.Send() +} + +// DeleteSchemaWithContext is the same as DeleteSchema with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSchema 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 *Schemas) DeleteSchemaWithContext(ctx aws.Context, input *DeleteSchemaInput, opts ...request.Option) (*DeleteSchemaOutput, error) { + req, out := c.DeleteSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSchemaVersion = "DeleteSchemaVersion" + +// DeleteSchemaVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSchemaVersion 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 DeleteSchemaVersion for more information on using the DeleteSchemaVersion +// 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 DeleteSchemaVersionRequest method. +// req, resp := client.DeleteSchemaVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteSchemaVersion +func (c *Schemas) DeleteSchemaVersionRequest(input *DeleteSchemaVersionInput) (req *request.Request, output *DeleteSchemaVersionOutput) { + op := &request.Operation{ + Name: opDeleteSchemaVersion, + HTTPMethod: "DELETE", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}", + } + + if input == nil { + input = &DeleteSchemaVersionInput{} + } + + output = &DeleteSchemaVersionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSchemaVersion API operation for Schemas. +// +// Delete the schema version definition +// +// 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 Schemas's +// API operation DeleteSchemaVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DeleteSchemaVersion +func (c *Schemas) DeleteSchemaVersion(input *DeleteSchemaVersionInput) (*DeleteSchemaVersionOutput, error) { + req, out := c.DeleteSchemaVersionRequest(input) + return out, req.Send() +} + +// DeleteSchemaVersionWithContext is the same as DeleteSchemaVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSchemaVersion 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 *Schemas) DeleteSchemaVersionWithContext(ctx aws.Context, input *DeleteSchemaVersionInput, opts ...request.Option) (*DeleteSchemaVersionOutput, error) { + req, out := c.DeleteSchemaVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCodeBinding = "DescribeCodeBinding" + +// DescribeCodeBindingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCodeBinding 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 DescribeCodeBinding for more information on using the DescribeCodeBinding +// 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 DescribeCodeBindingRequest method. +// req, resp := client.DescribeCodeBindingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeCodeBinding +func (c *Schemas) DescribeCodeBindingRequest(input *DescribeCodeBindingInput) (req *request.Request, output *DescribeCodeBindingOutput) { + op := &request.Operation{ + Name: opDescribeCodeBinding, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + } + + if input == nil { + input = &DescribeCodeBindingInput{} + } + + output = &DescribeCodeBindingOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCodeBinding API operation for Schemas. +// +// Describe the code binding URI. +// +// 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 Schemas's +// API operation DescribeCodeBinding for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeCodeBinding +func (c *Schemas) DescribeCodeBinding(input *DescribeCodeBindingInput) (*DescribeCodeBindingOutput, error) { + req, out := c.DescribeCodeBindingRequest(input) + return out, req.Send() +} + +// DescribeCodeBindingWithContext is the same as DescribeCodeBinding with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCodeBinding 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 *Schemas) DescribeCodeBindingWithContext(ctx aws.Context, input *DescribeCodeBindingInput, opts ...request.Option) (*DescribeCodeBindingOutput, error) { + req, out := c.DescribeCodeBindingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDiscoverer = "DescribeDiscoverer" + +// DescribeDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDiscoverer 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 DescribeDiscoverer for more information on using the DescribeDiscoverer +// 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 DescribeDiscovererRequest method. +// req, resp := client.DescribeDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeDiscoverer +func (c *Schemas) DescribeDiscovererRequest(input *DescribeDiscovererInput) (req *request.Request, output *DescribeDiscovererOutput) { + op := &request.Operation{ + Name: opDescribeDiscoverer, + HTTPMethod: "GET", + HTTPPath: "/v1/discoverers/id/{discovererId}", + } + + if input == nil { + input = &DescribeDiscovererInput{} + } + + output = &DescribeDiscovererOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDiscoverer API operation for Schemas. +// +// Describes the discoverer. +// +// 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 Schemas's +// API operation DescribeDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeDiscoverer +func (c *Schemas) DescribeDiscoverer(input *DescribeDiscovererInput) (*DescribeDiscovererOutput, error) { + req, out := c.DescribeDiscovererRequest(input) + return out, req.Send() +} + +// DescribeDiscovererWithContext is the same as DescribeDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDiscoverer 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 *Schemas) DescribeDiscovererWithContext(ctx aws.Context, input *DescribeDiscovererInput, opts ...request.Option) (*DescribeDiscovererOutput, error) { + req, out := c.DescribeDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeRegistry = "DescribeRegistry" + +// DescribeRegistryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRegistry 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 DescribeRegistry for more information on using the DescribeRegistry +// 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 DescribeRegistryRequest method. +// req, resp := client.DescribeRegistryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeRegistry +func (c *Schemas) DescribeRegistryRequest(input *DescribeRegistryInput) (req *request.Request, output *DescribeRegistryOutput) { + op := &request.Operation{ + Name: opDescribeRegistry, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}", + } + + if input == nil { + input = &DescribeRegistryInput{} + } + + output = &DescribeRegistryOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRegistry API operation for Schemas. +// +// Describes the registry. +// +// 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 Schemas's +// API operation DescribeRegistry for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeRegistry +func (c *Schemas) DescribeRegistry(input *DescribeRegistryInput) (*DescribeRegistryOutput, error) { + req, out := c.DescribeRegistryRequest(input) + return out, req.Send() +} + +// DescribeRegistryWithContext is the same as DescribeRegistry with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRegistry 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 *Schemas) DescribeRegistryWithContext(ctx aws.Context, input *DescribeRegistryInput, opts ...request.Option) (*DescribeRegistryOutput, error) { + req, out := c.DescribeRegistryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSchema = "DescribeSchema" + +// DescribeSchemaRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSchema 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 DescribeSchema for more information on using the DescribeSchema +// 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 DescribeSchemaRequest method. +// req, resp := client.DescribeSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeSchema +func (c *Schemas) DescribeSchemaRequest(input *DescribeSchemaInput) (req *request.Request, output *DescribeSchemaOutput) { + op := &request.Operation{ + Name: opDescribeSchema, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + } + + if input == nil { + input = &DescribeSchemaInput{} + } + + output = &DescribeSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSchema API operation for Schemas. +// +// Retrieve the schema definition. +// +// 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 Schemas's +// API operation DescribeSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/DescribeSchema +func (c *Schemas) DescribeSchema(input *DescribeSchemaInput) (*DescribeSchemaOutput, error) { + req, out := c.DescribeSchemaRequest(input) + return out, req.Send() +} + +// DescribeSchemaWithContext is the same as DescribeSchema with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSchema 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 *Schemas) DescribeSchemaWithContext(ctx aws.Context, input *DescribeSchemaInput, opts ...request.Option) (*DescribeSchemaOutput, error) { + req, out := c.DescribeSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCodeBindingSource = "GetCodeBindingSource" + +// GetCodeBindingSourceRequest generates a "aws/request.Request" representing the +// client's request for the GetCodeBindingSource 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 GetCodeBindingSource for more information on using the GetCodeBindingSource +// 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 GetCodeBindingSourceRequest method. +// req, resp := client.GetCodeBindingSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/GetCodeBindingSource +func (c *Schemas) GetCodeBindingSourceRequest(input *GetCodeBindingSourceInput) (req *request.Request, output *GetCodeBindingSourceOutput) { + op := &request.Operation{ + Name: opGetCodeBindingSource, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source", + } + + if input == nil { + input = &GetCodeBindingSourceInput{} + } + + output = &GetCodeBindingSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCodeBindingSource API operation for Schemas. +// +// Get the code binding source URI. +// +// 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 Schemas's +// API operation GetCodeBindingSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/GetCodeBindingSource +func (c *Schemas) GetCodeBindingSource(input *GetCodeBindingSourceInput) (*GetCodeBindingSourceOutput, error) { + req, out := c.GetCodeBindingSourceRequest(input) + return out, req.Send() +} + +// GetCodeBindingSourceWithContext is the same as GetCodeBindingSource with the addition of +// the ability to pass a context and additional request options. +// +// See GetCodeBindingSource 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 *Schemas) GetCodeBindingSourceWithContext(ctx aws.Context, input *GetCodeBindingSourceInput, opts ...request.Option) (*GetCodeBindingSourceOutput, error) { + req, out := c.GetCodeBindingSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDiscoveredSchema = "GetDiscoveredSchema" + +// GetDiscoveredSchemaRequest generates a "aws/request.Request" representing the +// client's request for the GetDiscoveredSchema 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 GetDiscoveredSchema for more information on using the GetDiscoveredSchema +// 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 GetDiscoveredSchemaRequest method. +// req, resp := client.GetDiscoveredSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/GetDiscoveredSchema +func (c *Schemas) GetDiscoveredSchemaRequest(input *GetDiscoveredSchemaInput) (req *request.Request, output *GetDiscoveredSchemaOutput) { + op := &request.Operation{ + Name: opGetDiscoveredSchema, + HTTPMethod: "POST", + HTTPPath: "/v1/discover", + } + + if input == nil { + input = &GetDiscoveredSchemaInput{} + } + + output = &GetDiscoveredSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDiscoveredSchema API operation for Schemas. +// +// Get the discovered schema that was generated based on sampled events. +// +// 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 Schemas's +// API operation GetDiscoveredSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/GetDiscoveredSchema +func (c *Schemas) GetDiscoveredSchema(input *GetDiscoveredSchemaInput) (*GetDiscoveredSchemaOutput, error) { + req, out := c.GetDiscoveredSchemaRequest(input) + return out, req.Send() +} + +// GetDiscoveredSchemaWithContext is the same as GetDiscoveredSchema with the addition of +// the ability to pass a context and additional request options. +// +// See GetDiscoveredSchema 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 *Schemas) GetDiscoveredSchemaWithContext(ctx aws.Context, input *GetDiscoveredSchemaInput, opts ...request.Option) (*GetDiscoveredSchemaOutput, error) { + req, out := c.GetDiscoveredSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDiscoverers = "ListDiscoverers" + +// ListDiscoverersRequest generates a "aws/request.Request" representing the +// client's request for the ListDiscoverers 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 ListDiscoverers for more information on using the ListDiscoverers +// 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 ListDiscoverersRequest method. +// req, resp := client.ListDiscoverersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListDiscoverers +func (c *Schemas) ListDiscoverersRequest(input *ListDiscoverersInput) (req *request.Request, output *ListDiscoverersOutput) { + op := &request.Operation{ + Name: opListDiscoverers, + HTTPMethod: "GET", + HTTPPath: "/v1/discoverers", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDiscoverersInput{} + } + + output = &ListDiscoverersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDiscoverers API operation for Schemas. +// +// List the discoverers. +// +// 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 Schemas's +// API operation ListDiscoverers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListDiscoverers +func (c *Schemas) ListDiscoverers(input *ListDiscoverersInput) (*ListDiscoverersOutput, error) { + req, out := c.ListDiscoverersRequest(input) + return out, req.Send() +} + +// ListDiscoverersWithContext is the same as ListDiscoverers with the addition of +// the ability to pass a context and additional request options. +// +// See ListDiscoverers 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 *Schemas) ListDiscoverersWithContext(ctx aws.Context, input *ListDiscoverersInput, opts ...request.Option) (*ListDiscoverersOutput, error) { + req, out := c.ListDiscoverersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDiscoverersPages iterates over the pages of a ListDiscoverers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDiscoverers 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 ListDiscoverers operation. +// pageNum := 0 +// err := client.ListDiscoverersPages(params, +// func(page *schemas.ListDiscoverersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Schemas) ListDiscoverersPages(input *ListDiscoverersInput, fn func(*ListDiscoverersOutput, bool) bool) error { + return c.ListDiscoverersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDiscoverersPagesWithContext same as ListDiscoverersPages 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 *Schemas) ListDiscoverersPagesWithContext(ctx aws.Context, input *ListDiscoverersInput, fn func(*ListDiscoverersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDiscoverersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDiscoverersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDiscoverersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRegistries = "ListRegistries" + +// ListRegistriesRequest generates a "aws/request.Request" representing the +// client's request for the ListRegistries 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 ListRegistries for more information on using the ListRegistries +// 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 ListRegistriesRequest method. +// req, resp := client.ListRegistriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListRegistries +func (c *Schemas) ListRegistriesRequest(input *ListRegistriesInput) (req *request.Request, output *ListRegistriesOutput) { + op := &request.Operation{ + Name: opListRegistries, + HTTPMethod: "GET", + HTTPPath: "/v1/registries", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRegistriesInput{} + } + + output = &ListRegistriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRegistries API operation for Schemas. +// +// List the registries. +// +// 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 Schemas's +// API operation ListRegistries for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListRegistries +func (c *Schemas) ListRegistries(input *ListRegistriesInput) (*ListRegistriesOutput, error) { + req, out := c.ListRegistriesRequest(input) + return out, req.Send() +} + +// ListRegistriesWithContext is the same as ListRegistries with the addition of +// the ability to pass a context and additional request options. +// +// See ListRegistries 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 *Schemas) ListRegistriesWithContext(ctx aws.Context, input *ListRegistriesInput, opts ...request.Option) (*ListRegistriesOutput, error) { + req, out := c.ListRegistriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRegistriesPages iterates over the pages of a ListRegistries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRegistries 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 ListRegistries operation. +// pageNum := 0 +// err := client.ListRegistriesPages(params, +// func(page *schemas.ListRegistriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Schemas) ListRegistriesPages(input *ListRegistriesInput, fn func(*ListRegistriesOutput, bool) bool) error { + return c.ListRegistriesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRegistriesPagesWithContext same as ListRegistriesPages 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 *Schemas) ListRegistriesPagesWithContext(ctx aws.Context, input *ListRegistriesInput, fn func(*ListRegistriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRegistriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRegistriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRegistriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSchemaVersions = "ListSchemaVersions" + +// ListSchemaVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSchemaVersions 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 ListSchemaVersions for more information on using the ListSchemaVersions +// 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 ListSchemaVersionsRequest method. +// req, resp := client.ListSchemaVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListSchemaVersions +func (c *Schemas) ListSchemaVersionsRequest(input *ListSchemaVersionsInput) (req *request.Request, output *ListSchemaVersionsOutput) { + op := &request.Operation{ + Name: opListSchemaVersions, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSchemaVersionsInput{} + } + + output = &ListSchemaVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSchemaVersions API operation for Schemas. +// +// Provides a list of the schema versions and related information. +// +// 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 Schemas's +// API operation ListSchemaVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListSchemaVersions +func (c *Schemas) ListSchemaVersions(input *ListSchemaVersionsInput) (*ListSchemaVersionsOutput, error) { + req, out := c.ListSchemaVersionsRequest(input) + return out, req.Send() +} + +// ListSchemaVersionsWithContext is the same as ListSchemaVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListSchemaVersions 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 *Schemas) ListSchemaVersionsWithContext(ctx aws.Context, input *ListSchemaVersionsInput, opts ...request.Option) (*ListSchemaVersionsOutput, error) { + req, out := c.ListSchemaVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSchemaVersionsPages iterates over the pages of a ListSchemaVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSchemaVersions 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 ListSchemaVersions operation. +// pageNum := 0 +// err := client.ListSchemaVersionsPages(params, +// func(page *schemas.ListSchemaVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Schemas) ListSchemaVersionsPages(input *ListSchemaVersionsInput, fn func(*ListSchemaVersionsOutput, bool) bool) error { + return c.ListSchemaVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSchemaVersionsPagesWithContext same as ListSchemaVersionsPages 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 *Schemas) ListSchemaVersionsPagesWithContext(ctx aws.Context, input *ListSchemaVersionsInput, fn func(*ListSchemaVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSchemaVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSchemaVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSchemaVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSchemas = "ListSchemas" + +// ListSchemasRequest generates a "aws/request.Request" representing the +// client's request for the ListSchemas 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 ListSchemas for more information on using the ListSchemas +// 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 ListSchemasRequest method. +// req, resp := client.ListSchemasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListSchemas +func (c *Schemas) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { + op := &request.Operation{ + Name: opListSchemas, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSchemasInput{} + } + + output = &ListSchemasOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSchemas API operation for Schemas. +// +// List the schemas. +// +// 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 Schemas's +// API operation ListSchemas for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListSchemas +func (c *Schemas) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) + return out, req.Send() +} + +// ListSchemasWithContext is the same as ListSchemas with the addition of +// the ability to pass a context and additional request options. +// +// See ListSchemas 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 *Schemas) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSchemasPages iterates over the pages of a ListSchemas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSchemas 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 ListSchemas operation. +// pageNum := 0 +// err := client.ListSchemasPages(params, +// func(page *schemas.ListSchemasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Schemas) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { + return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSchemasPagesWithContext same as ListSchemasPages 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 *Schemas) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSchemasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSchemasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListTagsForResource +func (c *Schemas) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resource-arn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Schemas. +// +// Get tags for 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 Schemas's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/ListTagsForResource +func (c *Schemas) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Schemas) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opLockServiceLinkedRole = "LockServiceLinkedRole" + +// LockServiceLinkedRoleRequest generates a "aws/request.Request" representing the +// client's request for the LockServiceLinkedRole 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 LockServiceLinkedRole for more information on using the LockServiceLinkedRole +// 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 LockServiceLinkedRoleRequest method. +// req, resp := client.LockServiceLinkedRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/LockServiceLinkedRole +func (c *Schemas) LockServiceLinkedRoleRequest(input *LockServiceLinkedRoleInput) (req *request.Request, output *LockServiceLinkedRoleOutput) { + op := &request.Operation{ + Name: opLockServiceLinkedRole, + HTTPMethod: "POST", + HTTPPath: "/slr-deletion/lock", + } + + if input == nil { + input = &LockServiceLinkedRoleInput{} + } + + output = &LockServiceLinkedRoleOutput{} + req = c.newRequest(op, input, output) + return +} + +// LockServiceLinkedRole API operation for Schemas. +// +// 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 Schemas's +// API operation LockServiceLinkedRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/LockServiceLinkedRole +func (c *Schemas) LockServiceLinkedRole(input *LockServiceLinkedRoleInput) (*LockServiceLinkedRoleOutput, error) { + req, out := c.LockServiceLinkedRoleRequest(input) + return out, req.Send() +} + +// LockServiceLinkedRoleWithContext is the same as LockServiceLinkedRole with the addition of +// the ability to pass a context and additional request options. +// +// See LockServiceLinkedRole 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 *Schemas) LockServiceLinkedRoleWithContext(ctx aws.Context, input *LockServiceLinkedRoleInput, opts ...request.Option) (*LockServiceLinkedRoleOutput, error) { + req, out := c.LockServiceLinkedRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutCodeBinding = "PutCodeBinding" + +// PutCodeBindingRequest generates a "aws/request.Request" representing the +// client's request for the PutCodeBinding 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 PutCodeBinding for more information on using the PutCodeBinding +// 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 PutCodeBindingRequest method. +// req, resp := client.PutCodeBindingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/PutCodeBinding +func (c *Schemas) PutCodeBindingRequest(input *PutCodeBindingInput) (req *request.Request, output *PutCodeBindingOutput) { + op := &request.Operation{ + Name: opPutCodeBinding, + HTTPMethod: "POST", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + } + + if input == nil { + input = &PutCodeBindingInput{} + } + + output = &PutCodeBindingOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutCodeBinding API operation for Schemas. +// +// Put code binding URI +// +// 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 Schemas's +// API operation PutCodeBinding for usage and error information. +// +// Returned Error Codes: +// * ErrCodeGoneException "GoneException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/PutCodeBinding +func (c *Schemas) PutCodeBinding(input *PutCodeBindingInput) (*PutCodeBindingOutput, error) { + req, out := c.PutCodeBindingRequest(input) + return out, req.Send() +} + +// PutCodeBindingWithContext is the same as PutCodeBinding with the addition of +// the ability to pass a context and additional request options. +// +// See PutCodeBinding 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 *Schemas) PutCodeBindingWithContext(ctx aws.Context, input *PutCodeBindingInput, opts ...request.Option) (*PutCodeBindingOutput, error) { + req, out := c.PutCodeBindingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSearchSchemas = "SearchSchemas" + +// SearchSchemasRequest generates a "aws/request.Request" representing the +// client's request for the SearchSchemas 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 SearchSchemas for more information on using the SearchSchemas +// 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 SearchSchemasRequest method. +// req, resp := client.SearchSchemasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/SearchSchemas +func (c *Schemas) SearchSchemasRequest(input *SearchSchemasInput) (req *request.Request, output *SearchSchemasOutput) { + op := &request.Operation{ + Name: opSearchSchemas, + HTTPMethod: "GET", + HTTPPath: "/v1/registries/name/{registryName}/schemas/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchSchemasInput{} + } + + output = &SearchSchemasOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchSchemas API operation for Schemas. +// +// Search the schemas +// +// 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 Schemas's +// API operation SearchSchemas for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/SearchSchemas +func (c *Schemas) SearchSchemas(input *SearchSchemasInput) (*SearchSchemasOutput, error) { + req, out := c.SearchSchemasRequest(input) + return out, req.Send() +} + +// SearchSchemasWithContext is the same as SearchSchemas with the addition of +// the ability to pass a context and additional request options. +// +// See SearchSchemas 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 *Schemas) SearchSchemasWithContext(ctx aws.Context, input *SearchSchemasInput, opts ...request.Option) (*SearchSchemasOutput, error) { + req, out := c.SearchSchemasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchSchemasPages iterates over the pages of a SearchSchemas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchSchemas 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 SearchSchemas operation. +// pageNum := 0 +// err := client.SearchSchemasPages(params, +// func(page *schemas.SearchSchemasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Schemas) SearchSchemasPages(input *SearchSchemasInput, fn func(*SearchSchemasOutput, bool) bool) error { + return c.SearchSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchSchemasPagesWithContext same as SearchSchemasPages 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 *Schemas) SearchSchemasPagesWithContext(ctx aws.Context, input *SearchSchemasInput, fn func(*SearchSchemasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchSchemasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchSchemasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchSchemasOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opStartDiscoverer = "StartDiscoverer" + +// StartDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the StartDiscoverer 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 StartDiscoverer for more information on using the StartDiscoverer +// 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 StartDiscovererRequest method. +// req, resp := client.StartDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/StartDiscoverer +func (c *Schemas) StartDiscovererRequest(input *StartDiscovererInput) (req *request.Request, output *StartDiscovererOutput) { + op := &request.Operation{ + Name: opStartDiscoverer, + HTTPMethod: "POST", + HTTPPath: "/v1/discoverers/id/{discovererId}/start", + } + + if input == nil { + input = &StartDiscovererInput{} + } + + output = &StartDiscovererOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartDiscoverer API operation for Schemas. +// +// Starts the discoverer +// +// 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 Schemas's +// API operation StartDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/StartDiscoverer +func (c *Schemas) StartDiscoverer(input *StartDiscovererInput) (*StartDiscovererOutput, error) { + req, out := c.StartDiscovererRequest(input) + return out, req.Send() +} + +// StartDiscovererWithContext is the same as StartDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See StartDiscoverer 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 *Schemas) StartDiscovererWithContext(ctx aws.Context, input *StartDiscovererInput, opts ...request.Option) (*StartDiscovererOutput, error) { + req, out := c.StartDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopDiscoverer = "StopDiscoverer" + +// StopDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the StopDiscoverer 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 StopDiscoverer for more information on using the StopDiscoverer +// 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 StopDiscovererRequest method. +// req, resp := client.StopDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/StopDiscoverer +func (c *Schemas) StopDiscovererRequest(input *StopDiscovererInput) (req *request.Request, output *StopDiscovererOutput) { + op := &request.Operation{ + Name: opStopDiscoverer, + HTTPMethod: "POST", + HTTPPath: "/v1/discoverers/id/{discovererId}/stop", + } + + if input == nil { + input = &StopDiscovererInput{} + } + + output = &StopDiscovererOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopDiscoverer API operation for Schemas. +// +// Stops the discoverer +// +// 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 Schemas's +// API operation StopDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/StopDiscoverer +func (c *Schemas) StopDiscoverer(input *StopDiscovererInput) (*StopDiscovererOutput, error) { + req, out := c.StopDiscovererRequest(input) + return out, req.Send() +} + +// StopDiscovererWithContext is the same as StopDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See StopDiscoverer 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 *Schemas) StopDiscovererWithContext(ctx aws.Context, input *StopDiscovererInput, opts ...request.Option) (*StopDiscovererOutput, error) { + req, out := c.StopDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/TagResource +func (c *Schemas) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resource-arn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Schemas. +// +// Add tags 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 Schemas's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/TagResource +func (c *Schemas) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Schemas) 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 opUnlockServiceLinkedRole = "UnlockServiceLinkedRole" + +// UnlockServiceLinkedRoleRequest generates a "aws/request.Request" representing the +// client's request for the UnlockServiceLinkedRole 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 UnlockServiceLinkedRole for more information on using the UnlockServiceLinkedRole +// 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 UnlockServiceLinkedRoleRequest method. +// req, resp := client.UnlockServiceLinkedRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UnlockServiceLinkedRole +func (c *Schemas) UnlockServiceLinkedRoleRequest(input *UnlockServiceLinkedRoleInput) (req *request.Request, output *UnlockServiceLinkedRoleOutput) { + op := &request.Operation{ + Name: opUnlockServiceLinkedRole, + HTTPMethod: "POST", + HTTPPath: "/slr-deletion/unlock", + } + + if input == nil { + input = &UnlockServiceLinkedRoleInput{} + } + + output = &UnlockServiceLinkedRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UnlockServiceLinkedRole API operation for Schemas. +// +// 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 Schemas's +// API operation UnlockServiceLinkedRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UnlockServiceLinkedRole +func (c *Schemas) UnlockServiceLinkedRole(input *UnlockServiceLinkedRoleInput) (*UnlockServiceLinkedRoleOutput, error) { + req, out := c.UnlockServiceLinkedRoleRequest(input) + return out, req.Send() +} + +// UnlockServiceLinkedRoleWithContext is the same as UnlockServiceLinkedRole with the addition of +// the ability to pass a context and additional request options. +// +// See UnlockServiceLinkedRole 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 *Schemas) UnlockServiceLinkedRoleWithContext(ctx aws.Context, input *UnlockServiceLinkedRoleInput, opts ...request.Option) (*UnlockServiceLinkedRoleOutput, error) { + req, out := c.UnlockServiceLinkedRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UntagResource +func (c *Schemas) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resource-arn}", + } + + 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 Schemas. +// +// Removes tags 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 Schemas's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UntagResource +func (c *Schemas) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Schemas) 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 opUpdateDiscoverer = "UpdateDiscoverer" + +// UpdateDiscovererRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDiscoverer 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 UpdateDiscoverer for more information on using the UpdateDiscoverer +// 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 UpdateDiscovererRequest method. +// req, resp := client.UpdateDiscovererRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateDiscoverer +func (c *Schemas) UpdateDiscovererRequest(input *UpdateDiscovererInput) (req *request.Request, output *UpdateDiscovererOutput) { + op := &request.Operation{ + Name: opUpdateDiscoverer, + HTTPMethod: "PUT", + HTTPPath: "/v1/discoverers/id/{discovererId}", + } + + if input == nil { + input = &UpdateDiscovererInput{} + } + + output = &UpdateDiscovererOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDiscoverer API operation for Schemas. +// +// Updates the discoverer +// +// 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 Schemas's +// API operation UpdateDiscoverer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateDiscoverer +func (c *Schemas) UpdateDiscoverer(input *UpdateDiscovererInput) (*UpdateDiscovererOutput, error) { + req, out := c.UpdateDiscovererRequest(input) + return out, req.Send() +} + +// UpdateDiscovererWithContext is the same as UpdateDiscoverer with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDiscoverer 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 *Schemas) UpdateDiscovererWithContext(ctx aws.Context, input *UpdateDiscovererInput, opts ...request.Option) (*UpdateDiscovererOutput, error) { + req, out := c.UpdateDiscovererRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRegistry = "UpdateRegistry" + +// UpdateRegistryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRegistry 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 UpdateRegistry for more information on using the UpdateRegistry +// 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 UpdateRegistryRequest method. +// req, resp := client.UpdateRegistryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateRegistry +func (c *Schemas) UpdateRegistryRequest(input *UpdateRegistryInput) (req *request.Request, output *UpdateRegistryOutput) { + op := &request.Operation{ + Name: opUpdateRegistry, + HTTPMethod: "PUT", + HTTPPath: "/v1/registries/name/{registryName}", + } + + if input == nil { + input = &UpdateRegistryInput{} + } + + output = &UpdateRegistryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRegistry API operation for Schemas. +// +// Updates a registry. +// +// 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 Schemas's +// API operation UpdateRegistry for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateRegistry +func (c *Schemas) UpdateRegistry(input *UpdateRegistryInput) (*UpdateRegistryOutput, error) { + req, out := c.UpdateRegistryRequest(input) + return out, req.Send() +} + +// UpdateRegistryWithContext is the same as UpdateRegistry with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRegistry 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 *Schemas) UpdateRegistryWithContext(ctx aws.Context, input *UpdateRegistryInput, opts ...request.Option) (*UpdateRegistryOutput, error) { + req, out := c.UpdateRegistryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSchema = "UpdateSchema" + +// UpdateSchemaRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSchema 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 UpdateSchema for more information on using the UpdateSchema +// 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 UpdateSchemaRequest method. +// req, resp := client.UpdateSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateSchema +func (c *Schemas) UpdateSchemaRequest(input *UpdateSchemaInput) (req *request.Request, output *UpdateSchemaOutput) { + op := &request.Operation{ + Name: opUpdateSchema, + HTTPMethod: "PUT", + HTTPPath: "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + } + + if input == nil { + input = &UpdateSchemaInput{} + } + + output = &UpdateSchemaOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSchema API operation for Schemas. +// +// Updates the schema definition +// +// 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 Schemas's +// API operation UpdateSchema for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02/UpdateSchema +func (c *Schemas) UpdateSchema(input *UpdateSchemaInput) (*UpdateSchemaOutput, error) { + req, out := c.UpdateSchemaRequest(input) + return out, req.Send() +} + +// UpdateSchemaWithContext is the same as UpdateSchema with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSchema 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 *Schemas) UpdateSchemaWithContext(ctx aws.Context, input *UpdateSchemaInput, opts ...request.Option) (*UpdateSchemaOutput, error) { + req, out := c.UpdateSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type CreateDiscovererInput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + // SourceArn is a required field + SourceArn *string `min:"20" type:"string" required:"true"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiscovererInput"} + if s.SourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceArn")) + } + if s.SourceArn != nil && len(*s.SourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("SourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateDiscovererInput) SetDescription(v string) *CreateDiscovererInput { + s.Description = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateDiscovererInput) SetSourceArn(v string) *CreateDiscovererInput { + s.SourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDiscovererInput) SetTags(v map[string]*string) *CreateDiscovererInput { + s.Tags = v + return s +} + +type CreateDiscovererOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + DiscovererArn *string `type:"string"` + + DiscovererId *string `type:"string"` + + SourceArn *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDiscovererOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateDiscovererOutput) SetDescription(v string) *CreateDiscovererOutput { + s.Description = &v + return s +} + +// SetDiscovererArn sets the DiscovererArn field's value. +func (s *CreateDiscovererOutput) SetDiscovererArn(v string) *CreateDiscovererOutput { + s.DiscovererArn = &v + return s +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *CreateDiscovererOutput) SetDiscovererId(v string) *CreateDiscovererOutput { + s.DiscovererId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateDiscovererOutput) SetSourceArn(v string) *CreateDiscovererOutput { + s.SourceArn = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateDiscovererOutput) SetState(v string) *CreateDiscovererOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDiscovererOutput) SetTags(v map[string]*string) *CreateDiscovererOutput { + s.Tags = v + return s +} + +type CreateRegistryInput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateRegistryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRegistryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRegistryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRegistryInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateRegistryInput) SetDescription(v string) *CreateRegistryInput { + s.Description = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *CreateRegistryInput) SetRegistryName(v string) *CreateRegistryInput { + s.RegistryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRegistryInput) SetTags(v map[string]*string) *CreateRegistryInput { + s.Tags = v + return s +} + +type CreateRegistryOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + RegistryArn *string `type:"string"` + + RegistryName *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateRegistryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRegistryOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateRegistryOutput) SetDescription(v string) *CreateRegistryOutput { + s.Description = &v + return s +} + +// SetRegistryArn sets the RegistryArn field's value. +func (s *CreateRegistryOutput) SetRegistryArn(v string) *CreateRegistryOutput { + s.RegistryArn = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *CreateRegistryOutput) SetRegistryName(v string) *CreateRegistryOutput { + s.RegistryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRegistryOutput) SetTags(v map[string]*string) *CreateRegistryOutput { + s.Tags = v + return s +} + +type CreateSchemaInput struct { + _ struct{} `type:"structure"` + + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + Description *string `type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Type is a required field + Type *string `type:"string" required:"true" enum:"Type"` +} + +// String returns the string representation +func (s CreateSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSchemaInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *CreateSchemaInput) SetContent(v string) *CreateSchemaInput { + s.Content = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateSchemaInput) SetDescription(v string) *CreateSchemaInput { + s.Description = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *CreateSchemaInput) SetRegistryName(v string) *CreateSchemaInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *CreateSchemaInput) SetSchemaName(v string) *CreateSchemaInput { + s.SchemaName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSchemaInput) SetTags(v map[string]*string) *CreateSchemaInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateSchemaInput) SetType(v string) *CreateSchemaInput { + s.Type = &v + return s +} + +type CreateSchemaOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + SchemaArn *string `type:"string"` + + SchemaName *string `type:"string"` + + SchemaVersion *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `type:"string"` + + VersionCreatedDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s CreateSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSchemaOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateSchemaOutput) SetDescription(v string) *CreateSchemaOutput { + s.Description = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *CreateSchemaOutput) SetLastModified(v time.Time) *CreateSchemaOutput { + s.LastModified = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *CreateSchemaOutput) SetSchemaArn(v string) *CreateSchemaOutput { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *CreateSchemaOutput) SetSchemaName(v string) *CreateSchemaOutput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *CreateSchemaOutput) SetSchemaVersion(v string) *CreateSchemaOutput { + s.SchemaVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSchemaOutput) SetTags(v map[string]*string) *CreateSchemaOutput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateSchemaOutput) SetType(v string) *CreateSchemaOutput { + s.Type = &v + return s +} + +// SetVersionCreatedDate sets the VersionCreatedDate field's value. +func (s *CreateSchemaOutput) SetVersionCreatedDate(v time.Time) *CreateSchemaOutput { + s.VersionCreatedDate = &v + return s +} + +type DeleteDiscovererInput struct { + _ struct{} `type:"structure"` + + // DiscovererId is a required field + DiscovererId *string `location:"uri" locationName:"discovererId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDiscovererInput"} + if s.DiscovererId == nil { + invalidParams.Add(request.NewErrParamRequired("DiscovererId")) + } + if s.DiscovererId != nil && len(*s.DiscovererId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiscovererId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *DeleteDiscovererInput) SetDiscovererId(v string) *DeleteDiscovererInput { + s.DiscovererId = &v + return s +} + +type DeleteDiscovererOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDiscovererOutput) GoString() string { + return s.String() +} + +type DeleteRegistryInput struct { + _ struct{} `type:"structure"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRegistryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRegistryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRegistryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRegistryInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DeleteRegistryInput) SetRegistryName(v string) *DeleteRegistryInput { + s.RegistryName = &v + return s +} + +type DeleteRegistryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRegistryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRegistryOutput) GoString() string { + return s.String() +} + +type DeleteSchemaInput struct { + _ struct{} `type:"structure"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSchemaInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DeleteSchemaInput) SetRegistryName(v string) *DeleteSchemaInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *DeleteSchemaInput) SetSchemaName(v string) *DeleteSchemaInput { + s.SchemaName = &v + return s +} + +type DeleteSchemaOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaOutput) GoString() string { + return s.String() +} + +type DeleteSchemaVersionInput struct { + _ struct{} `type:"structure"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + // SchemaVersion is a required field + SchemaVersion *string `location:"uri" locationName:"schemaVersion" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSchemaVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSchemaVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSchemaVersionInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + if s.SchemaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaVersion")) + } + if s.SchemaVersion != nil && len(*s.SchemaVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DeleteSchemaVersionInput) SetRegistryName(v string) *DeleteSchemaVersionInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *DeleteSchemaVersionInput) SetSchemaName(v string) *DeleteSchemaVersionInput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DeleteSchemaVersionInput) SetSchemaVersion(v string) *DeleteSchemaVersionInput { + s.SchemaVersion = &v + return s +} + +type DeleteSchemaVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSchemaVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSchemaVersionOutput) GoString() string { + return s.String() +} + +type DescribeCodeBindingInput struct { + _ struct{} `type:"structure"` + + // Language is a required field + Language *string `location:"uri" locationName:"language" type:"string" required:"true"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + SchemaVersion *string `location:"querystring" locationName:"schemaVersion" type:"string"` +} + +// String returns the string representation +func (s DescribeCodeBindingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCodeBindingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCodeBindingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCodeBindingInput"} + if s.Language == nil { + invalidParams.Add(request.NewErrParamRequired("Language")) + } + if s.Language != nil && len(*s.Language) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Language", 1)) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguage sets the Language field's value. +func (s *DescribeCodeBindingInput) SetLanguage(v string) *DescribeCodeBindingInput { + s.Language = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DescribeCodeBindingInput) SetRegistryName(v string) *DescribeCodeBindingInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *DescribeCodeBindingInput) SetSchemaName(v string) *DescribeCodeBindingInput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DescribeCodeBindingInput) SetSchemaVersion(v string) *DescribeCodeBindingInput { + s.SchemaVersion = &v + return s +} + +type DescribeCodeBindingOutput struct { + _ struct{} `type:"structure"` + + CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + SchemaVersion *string `type:"string"` + + Status *string `type:"string" enum:"CodeGenerationStatus"` +} + +// String returns the string representation +func (s DescribeCodeBindingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCodeBindingOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeCodeBindingOutput) SetCreationDate(v time.Time) *DescribeCodeBindingOutput { + s.CreationDate = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeCodeBindingOutput) SetLastModified(v time.Time) *DescribeCodeBindingOutput { + s.LastModified = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DescribeCodeBindingOutput) SetSchemaVersion(v string) *DescribeCodeBindingOutput { + s.SchemaVersion = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeCodeBindingOutput) SetStatus(v string) *DescribeCodeBindingOutput { + s.Status = &v + return s +} + +type DescribeDiscovererInput struct { + _ struct{} `type:"structure"` + + // DiscovererId is a required field + DiscovererId *string `location:"uri" locationName:"discovererId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDiscovererInput"} + if s.DiscovererId == nil { + invalidParams.Add(request.NewErrParamRequired("DiscovererId")) + } + if s.DiscovererId != nil && len(*s.DiscovererId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiscovererId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *DescribeDiscovererInput) SetDiscovererId(v string) *DescribeDiscovererInput { + s.DiscovererId = &v + return s +} + +type DescribeDiscovererOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + DiscovererArn *string `type:"string"` + + DiscovererId *string `type:"string"` + + SourceArn *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DescribeDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDiscovererOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *DescribeDiscovererOutput) SetDescription(v string) *DescribeDiscovererOutput { + s.Description = &v + return s +} + +// SetDiscovererArn sets the DiscovererArn field's value. +func (s *DescribeDiscovererOutput) SetDiscovererArn(v string) *DescribeDiscovererOutput { + s.DiscovererArn = &v + return s +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *DescribeDiscovererOutput) SetDiscovererId(v string) *DescribeDiscovererOutput { + s.DiscovererId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *DescribeDiscovererOutput) SetSourceArn(v string) *DescribeDiscovererOutput { + s.SourceArn = &v + return s +} + +// SetState sets the State field's value. +func (s *DescribeDiscovererOutput) SetState(v string) *DescribeDiscovererOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeDiscovererOutput) SetTags(v map[string]*string) *DescribeDiscovererOutput { + s.Tags = v + return s +} + +type DescribeRegistryInput struct { + _ struct{} `type:"structure"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeRegistryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRegistryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRegistryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRegistryInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DescribeRegistryInput) SetRegistryName(v string) *DescribeRegistryInput { + s.RegistryName = &v + return s +} + +type DescribeRegistryOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + RegistryArn *string `type:"string"` + + RegistryName *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DescribeRegistryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRegistryOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *DescribeRegistryOutput) SetDescription(v string) *DescribeRegistryOutput { + s.Description = &v + return s +} + +// SetRegistryArn sets the RegistryArn field's value. +func (s *DescribeRegistryOutput) SetRegistryArn(v string) *DescribeRegistryOutput { + s.RegistryArn = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DescribeRegistryOutput) SetRegistryName(v string) *DescribeRegistryOutput { + s.RegistryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeRegistryOutput) SetTags(v map[string]*string) *DescribeRegistryOutput { + s.Tags = v + return s +} + +type DescribeSchemaInput struct { + _ struct{} `type:"structure"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + SchemaVersion *string `location:"querystring" locationName:"schemaVersion" type:"string"` +} + +// String returns the string representation +func (s DescribeSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSchemaInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegistryName sets the RegistryName field's value. +func (s *DescribeSchemaInput) SetRegistryName(v string) *DescribeSchemaInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *DescribeSchemaInput) SetSchemaName(v string) *DescribeSchemaInput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DescribeSchemaInput) SetSchemaVersion(v string) *DescribeSchemaInput { + s.SchemaVersion = &v + return s +} + +type DescribeSchemaOutput struct { + _ struct{} `type:"structure"` + + Content *string `type:"string"` + + Description *string `type:"string"` + + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + SchemaArn *string `type:"string"` + + SchemaName *string `type:"string"` + + SchemaVersion *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `type:"string"` + + VersionCreatedDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s DescribeSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSchemaOutput) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *DescribeSchemaOutput) SetContent(v string) *DescribeSchemaOutput { + s.Content = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeSchemaOutput) SetDescription(v string) *DescribeSchemaOutput { + s.Description = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeSchemaOutput) SetLastModified(v time.Time) *DescribeSchemaOutput { + s.LastModified = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DescribeSchemaOutput) SetSchemaArn(v string) *DescribeSchemaOutput { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *DescribeSchemaOutput) SetSchemaName(v string) *DescribeSchemaOutput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DescribeSchemaOutput) SetSchemaVersion(v string) *DescribeSchemaOutput { + s.SchemaVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeSchemaOutput) SetTags(v map[string]*string) *DescribeSchemaOutput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *DescribeSchemaOutput) SetType(v string) *DescribeSchemaOutput { + s.Type = &v + return s +} + +// SetVersionCreatedDate sets the VersionCreatedDate field's value. +func (s *DescribeSchemaOutput) SetVersionCreatedDate(v time.Time) *DescribeSchemaOutput { + s.VersionCreatedDate = &v + return s +} + +type DiscovererSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the discoverer. + DiscovererArn *string `type:"string"` + + // The ID of the discoverer. + DiscovererId *string `type:"string"` + + // The ARN of the event bus. + SourceArn *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` + + // Tags associated with the resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DiscovererSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DiscovererSummary) GoString() string { + return s.String() +} + +// SetDiscovererArn sets the DiscovererArn field's value. +func (s *DiscovererSummary) SetDiscovererArn(v string) *DiscovererSummary { + s.DiscovererArn = &v + return s +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *DiscovererSummary) SetDiscovererId(v string) *DiscovererSummary { + s.DiscovererId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *DiscovererSummary) SetSourceArn(v string) *DiscovererSummary { + s.SourceArn = &v + return s +} + +// SetState sets the State field's value. +func (s *DiscovererSummary) SetState(v string) *DiscovererSummary { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DiscovererSummary) SetTags(v map[string]*string) *DiscovererSummary { + s.Tags = v + return s +} + +type GetCodeBindingSourceInput struct { + _ struct{} `type:"structure"` + + // Language is a required field + Language *string `location:"uri" locationName:"language" type:"string" required:"true"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + SchemaVersion *string `location:"querystring" locationName:"schemaVersion" type:"string"` +} + +// String returns the string representation +func (s GetCodeBindingSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCodeBindingSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCodeBindingSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCodeBindingSourceInput"} + if s.Language == nil { + invalidParams.Add(request.NewErrParamRequired("Language")) + } + if s.Language != nil && len(*s.Language) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Language", 1)) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguage sets the Language field's value. +func (s *GetCodeBindingSourceInput) SetLanguage(v string) *GetCodeBindingSourceInput { + s.Language = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *GetCodeBindingSourceInput) SetRegistryName(v string) *GetCodeBindingSourceInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *GetCodeBindingSourceInput) SetSchemaName(v string) *GetCodeBindingSourceInput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *GetCodeBindingSourceInput) SetSchemaVersion(v string) *GetCodeBindingSourceInput { + s.SchemaVersion = &v + return s +} + +type GetCodeBindingSourceOutput struct { + _ struct{} `type:"structure" payload:"Body"` + + Body []byte `type:"blob"` +} + +// String returns the string representation +func (s GetCodeBindingSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCodeBindingSourceOutput) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *GetCodeBindingSourceOutput) SetBody(v []byte) *GetCodeBindingSourceOutput { + s.Body = v + return s +} + +type GetDiscoveredSchemaInput struct { + _ struct{} `type:"structure"` + + // Events is a required field + Events []*string `min:"1" type:"list" required:"true"` + + // Type is a required field + Type *string `type:"string" required:"true" enum:"Type"` +} + +// String returns the string representation +func (s GetDiscoveredSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDiscoveredSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDiscoveredSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDiscoveredSchemaInput"} + if s.Events == nil { + invalidParams.Add(request.NewErrParamRequired("Events")) + } + if s.Events != nil && len(s.Events) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Events", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvents sets the Events field's value. +func (s *GetDiscoveredSchemaInput) SetEvents(v []*string) *GetDiscoveredSchemaInput { + s.Events = v + return s +} + +// SetType sets the Type field's value. +func (s *GetDiscoveredSchemaInput) SetType(v string) *GetDiscoveredSchemaInput { + s.Type = &v + return s +} + +type GetDiscoveredSchemaOutput struct { + _ struct{} `type:"structure"` + + Content *string `type:"string"` +} + +// String returns the string representation +func (s GetDiscoveredSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDiscoveredSchemaOutput) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *GetDiscoveredSchemaOutput) SetContent(v string) *GetDiscoveredSchemaOutput { + s.Content = &v + return s +} + +type ListDiscoverersInput struct { + _ struct{} `type:"structure"` + + DiscovererIdPrefix *string `location:"querystring" locationName:"discovererIdPrefix" type:"string"` + + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + SourceArnPrefix *string `location:"querystring" locationName:"sourceArnPrefix" type:"string"` +} + +// String returns the string representation +func (s ListDiscoverersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDiscoverersInput) GoString() string { + return s.String() +} + +// SetDiscovererIdPrefix sets the DiscovererIdPrefix field's value. +func (s *ListDiscoverersInput) SetDiscovererIdPrefix(v string) *ListDiscoverersInput { + s.DiscovererIdPrefix = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *ListDiscoverersInput) SetLimit(v int64) *ListDiscoverersInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoverersInput) SetNextToken(v string) *ListDiscoverersInput { + s.NextToken = &v + return s +} + +// SetSourceArnPrefix sets the SourceArnPrefix field's value. +func (s *ListDiscoverersInput) SetSourceArnPrefix(v string) *ListDiscoverersInput { + s.SourceArnPrefix = &v + return s +} + +type ListDiscoverersOutput struct { + _ struct{} `type:"structure"` + + Discoverers []*DiscovererSummary `type:"list"` + + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDiscoverersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDiscoverersOutput) GoString() string { + return s.String() +} + +// SetDiscoverers sets the Discoverers field's value. +func (s *ListDiscoverersOutput) SetDiscoverers(v []*DiscovererSummary) *ListDiscoverersOutput { + s.Discoverers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoverersOutput) SetNextToken(v string) *ListDiscoverersOutput { + s.NextToken = &v + return s +} + +type ListRegistriesInput struct { + _ struct{} `type:"structure"` + + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + RegistryNamePrefix *string `location:"querystring" locationName:"registryNamePrefix" type:"string"` + + Scope *string `location:"querystring" locationName:"scope" type:"string"` +} + +// String returns the string representation +func (s ListRegistriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRegistriesInput) GoString() string { + return s.String() +} + +// SetLimit sets the Limit field's value. +func (s *ListRegistriesInput) SetLimit(v int64) *ListRegistriesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRegistriesInput) SetNextToken(v string) *ListRegistriesInput { + s.NextToken = &v + return s +} + +// SetRegistryNamePrefix sets the RegistryNamePrefix field's value. +func (s *ListRegistriesInput) SetRegistryNamePrefix(v string) *ListRegistriesInput { + s.RegistryNamePrefix = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ListRegistriesInput) SetScope(v string) *ListRegistriesInput { + s.Scope = &v + return s +} + +type ListRegistriesOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` + + Registries []*RegistrySummary `type:"list"` +} + +// String returns the string representation +func (s ListRegistriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRegistriesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRegistriesOutput) SetNextToken(v string) *ListRegistriesOutput { + s.NextToken = &v + return s +} + +// SetRegistries sets the Registries field's value. +func (s *ListRegistriesOutput) SetRegistries(v []*RegistrySummary) *ListRegistriesOutput { + s.Registries = v + return s +} + +type ListSchemaVersionsInput struct { + _ struct{} `type:"structure"` + + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListSchemaVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemaVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSchemaVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSchemaVersionsInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListSchemaVersionsInput) SetLimit(v int64) *ListSchemaVersionsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemaVersionsInput) SetNextToken(v string) *ListSchemaVersionsInput { + s.NextToken = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *ListSchemaVersionsInput) SetRegistryName(v string) *ListSchemaVersionsInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *ListSchemaVersionsInput) SetSchemaName(v string) *ListSchemaVersionsInput { + s.SchemaName = &v + return s +} + +type ListSchemaVersionsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` + + SchemaVersions []*SchemaVersionSummary `type:"list"` +} + +// String returns the string representation +func (s ListSchemaVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemaVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemaVersionsOutput) SetNextToken(v string) *ListSchemaVersionsOutput { + s.NextToken = &v + return s +} + +// SetSchemaVersions sets the SchemaVersions field's value. +func (s *ListSchemaVersionsOutput) SetSchemaVersions(v []*SchemaVersionSummary) *ListSchemaVersionsOutput { + s.SchemaVersions = v + return s +} + +type ListSchemasInput struct { + _ struct{} `type:"structure"` + + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + SchemaNamePrefix *string `location:"querystring" locationName:"schemaNamePrefix" type:"string"` +} + +// String returns the string representation +func (s ListSchemasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSchemasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListSchemasInput) SetLimit(v int64) *ListSchemasInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput { + s.NextToken = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *ListSchemasInput) SetRegistryName(v string) *ListSchemasInput { + s.RegistryName = &v + return s +} + +// SetSchemaNamePrefix sets the SchemaNamePrefix field's value. +func (s *ListSchemasInput) SetSchemaNamePrefix(v string) *ListSchemasInput { + s.SchemaNamePrefix = &v + return s +} + +type ListSchemasOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` + + Schemas []*SchemaSummary `type:"list"` +} + +// String returns the string representation +func (s ListSchemasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSchemasOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput { + s.NextToken = &v + return s +} + +// SetSchemas sets the Schemas field's value. +func (s *ListSchemasOutput) SetSchemas(v []*SchemaSummary) *ListSchemasOutput { + s.Schemas = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // Key-value pairs associated with a resource. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type LockServiceLinkedRoleInput struct { + _ struct{} `type:"structure"` + + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` + + // Timeout is a required field + Timeout *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s LockServiceLinkedRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LockServiceLinkedRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LockServiceLinkedRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LockServiceLinkedRoleInput"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.Timeout == nil { + invalidParams.Add(request.NewErrParamRequired("Timeout")) + } + if s.Timeout != nil && *s.Timeout < 1 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *LockServiceLinkedRoleInput) SetRoleArn(v string) *LockServiceLinkedRoleInput { + s.RoleArn = &v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *LockServiceLinkedRoleInput) SetTimeout(v int64) *LockServiceLinkedRoleInput { + s.Timeout = &v + return s +} + +type LockServiceLinkedRoleOutput struct { + _ struct{} `type:"structure"` + + CanBeDeleted *bool `type:"boolean"` + + ReasonOfFailure *string `min:"1" type:"string"` + + RelatedResources []*DiscovererSummary `type:"list"` +} + +// String returns the string representation +func (s LockServiceLinkedRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LockServiceLinkedRoleOutput) GoString() string { + return s.String() +} + +// SetCanBeDeleted sets the CanBeDeleted field's value. +func (s *LockServiceLinkedRoleOutput) SetCanBeDeleted(v bool) *LockServiceLinkedRoleOutput { + s.CanBeDeleted = &v + return s +} + +// SetReasonOfFailure sets the ReasonOfFailure field's value. +func (s *LockServiceLinkedRoleOutput) SetReasonOfFailure(v string) *LockServiceLinkedRoleOutput { + s.ReasonOfFailure = &v + return s +} + +// SetRelatedResources sets the RelatedResources field's value. +func (s *LockServiceLinkedRoleOutput) SetRelatedResources(v []*DiscovererSummary) *LockServiceLinkedRoleOutput { + s.RelatedResources = v + return s +} + +type PutCodeBindingInput struct { + _ struct{} `type:"structure"` + + // Language is a required field + Language *string `location:"uri" locationName:"language" type:"string" required:"true"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + SchemaVersion *string `location:"querystring" locationName:"schemaVersion" type:"string"` +} + +// String returns the string representation +func (s PutCodeBindingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutCodeBindingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutCodeBindingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutCodeBindingInput"} + if s.Language == nil { + invalidParams.Add(request.NewErrParamRequired("Language")) + } + if s.Language != nil && len(*s.Language) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Language", 1)) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguage sets the Language field's value. +func (s *PutCodeBindingInput) SetLanguage(v string) *PutCodeBindingInput { + s.Language = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *PutCodeBindingInput) SetRegistryName(v string) *PutCodeBindingInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *PutCodeBindingInput) SetSchemaName(v string) *PutCodeBindingInput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *PutCodeBindingInput) SetSchemaVersion(v string) *PutCodeBindingInput { + s.SchemaVersion = &v + return s +} + +type PutCodeBindingOutput struct { + _ struct{} `type:"structure"` + + CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + SchemaVersion *string `type:"string"` + + Status *string `type:"string" enum:"CodeGenerationStatus"` +} + +// String returns the string representation +func (s PutCodeBindingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutCodeBindingOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *PutCodeBindingOutput) SetCreationDate(v time.Time) *PutCodeBindingOutput { + s.CreationDate = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *PutCodeBindingOutput) SetLastModified(v time.Time) *PutCodeBindingOutput { + s.LastModified = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *PutCodeBindingOutput) SetSchemaVersion(v string) *PutCodeBindingOutput { + s.SchemaVersion = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PutCodeBindingOutput) SetStatus(v string) *PutCodeBindingOutput { + s.Status = &v + return s +} + +type RegistrySummary struct { + _ struct{} `type:"structure"` + + // The ARN of the registry. + RegistryArn *string `type:"string"` + + // The name of the registry. + RegistryName *string `type:"string"` + + // Tags associated with the registry. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s RegistrySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegistrySummary) GoString() string { + return s.String() +} + +// SetRegistryArn sets the RegistryArn field's value. +func (s *RegistrySummary) SetRegistryArn(v string) *RegistrySummary { + s.RegistryArn = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *RegistrySummary) SetRegistryName(v string) *RegistrySummary { + s.RegistryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RegistrySummary) SetTags(v map[string]*string) *RegistrySummary { + s.Tags = v + return s +} + +// A summary of schema details. +type SchemaSummary struct { + _ struct{} `type:"structure"` + + // The date and time that schema was modified. + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The ARN of the schema. + SchemaArn *string `type:"string"` + + // The name of the schema. + SchemaName *string `type:"string"` + + // Tags associated with the schema. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The number of versions available for the schema. + VersionCount *int64 `type:"long"` +} + +// String returns the string representation +func (s SchemaSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SchemaSummary) GoString() string { + return s.String() +} + +// SetLastModified sets the LastModified field's value. +func (s *SchemaSummary) SetLastModified(v time.Time) *SchemaSummary { + s.LastModified = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *SchemaSummary) SetSchemaArn(v string) *SchemaSummary { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *SchemaSummary) SetSchemaName(v string) *SchemaSummary { + s.SchemaName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SchemaSummary) SetTags(v map[string]*string) *SchemaSummary { + s.Tags = v + return s +} + +// SetVersionCount sets the VersionCount field's value. +func (s *SchemaSummary) SetVersionCount(v int64) *SchemaSummary { + s.VersionCount = &v + return s +} + +type SchemaVersionSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the schema version. + SchemaArn *string `type:"string"` + + // The name of the schema. + SchemaName *string `type:"string"` + + // The version number of the schema. + SchemaVersion *string `type:"string"` +} + +// String returns the string representation +func (s SchemaVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SchemaVersionSummary) GoString() string { + return s.String() +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *SchemaVersionSummary) SetSchemaArn(v string) *SchemaVersionSummary { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *SchemaVersionSummary) SetSchemaName(v string) *SchemaVersionSummary { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *SchemaVersionSummary) SetSchemaVersion(v string) *SchemaVersionSummary { + s.SchemaVersion = &v + return s +} + +type SearchSchemaSummary struct { + _ struct{} `type:"structure"` + + // The name of the registry. + RegistryName *string `type:"string"` + + // The ARN of the schema. + SchemaArn *string `type:"string"` + + // The name of the schema. + SchemaName *string `type:"string"` + + // An array of schema version summaries. + SchemaVersions []*SearchSchemaVersionSummary `type:"list"` +} + +// String returns the string representation +func (s SearchSchemaSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchSchemaSummary) GoString() string { + return s.String() +} + +// SetRegistryName sets the RegistryName field's value. +func (s *SearchSchemaSummary) SetRegistryName(v string) *SearchSchemaSummary { + s.RegistryName = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *SearchSchemaSummary) SetSchemaArn(v string) *SearchSchemaSummary { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *SearchSchemaSummary) SetSchemaName(v string) *SearchSchemaSummary { + s.SchemaName = &v + return s +} + +// SetSchemaVersions sets the SchemaVersions field's value. +func (s *SearchSchemaSummary) SetSchemaVersions(v []*SearchSchemaVersionSummary) *SearchSchemaSummary { + s.SchemaVersions = v + return s +} + +type SearchSchemaVersionSummary struct { + _ struct{} `type:"structure"` + + CreatedDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The version number of the schema + SchemaVersion *string `type:"string"` +} + +// String returns the string representation +func (s SearchSchemaVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchSchemaVersionSummary) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *SearchSchemaVersionSummary) SetCreatedDate(v time.Time) *SearchSchemaVersionSummary { + s.CreatedDate = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *SearchSchemaVersionSummary) SetSchemaVersion(v string) *SearchSchemaVersionSummary { + s.SchemaVersion = &v + return s +} + +type SearchSchemasInput struct { + _ struct{} `type:"structure"` + + // Keywords is a required field + Keywords *string `location:"querystring" locationName:"keywords" type:"string" required:"true"` + + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` +} + +// String returns the string representation +func (s SearchSchemasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchSchemasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchSchemasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchSchemasInput"} + if s.Keywords == nil { + invalidParams.Add(request.NewErrParamRequired("Keywords")) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeywords sets the Keywords field's value. +func (s *SearchSchemasInput) SetKeywords(v string) *SearchSchemasInput { + s.Keywords = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *SearchSchemasInput) SetLimit(v int64) *SearchSchemasInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchSchemasInput) SetNextToken(v string) *SearchSchemasInput { + s.NextToken = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *SearchSchemasInput) SetRegistryName(v string) *SearchSchemasInput { + s.RegistryName = &v + return s +} + +type SearchSchemasOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` + + Schemas []*SearchSchemaSummary `type:"list"` +} + +// String returns the string representation +func (s SearchSchemasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchSchemasOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchSchemasOutput) SetNextToken(v string) *SearchSchemasOutput { + s.NextToken = &v + return s +} + +// SetSchemas sets the Schemas field's value. +func (s *SearchSchemasOutput) SetSchemas(v []*SearchSchemaSummary) *SearchSchemasOutput { + s.Schemas = v + return s +} + +type StartDiscovererInput struct { + _ struct{} `type:"structure"` + + // DiscovererId is a required field + DiscovererId *string `location:"uri" locationName:"discovererId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartDiscovererInput"} + if s.DiscovererId == nil { + invalidParams.Add(request.NewErrParamRequired("DiscovererId")) + } + if s.DiscovererId != nil && len(*s.DiscovererId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiscovererId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *StartDiscovererInput) SetDiscovererId(v string) *StartDiscovererInput { + s.DiscovererId = &v + return s +} + +type StartDiscovererOutput struct { + _ struct{} `type:"structure"` + + DiscovererId *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` +} + +// String returns the string representation +func (s StartDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDiscovererOutput) GoString() string { + return s.String() +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *StartDiscovererOutput) SetDiscovererId(v string) *StartDiscovererOutput { + s.DiscovererId = &v + return s +} + +// SetState sets the State field's value. +func (s *StartDiscovererOutput) SetState(v string) *StartDiscovererOutput { + s.State = &v + return s +} + +type StopDiscovererInput struct { + _ struct{} `type:"structure"` + + // DiscovererId is a required field + DiscovererId *string `location:"uri" locationName:"discovererId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopDiscovererInput"} + if s.DiscovererId == nil { + invalidParams.Add(request.NewErrParamRequired("DiscovererId")) + } + if s.DiscovererId != nil && len(*s.DiscovererId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiscovererId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *StopDiscovererInput) SetDiscovererId(v string) *StopDiscovererInput { + s.DiscovererId = &v + return s +} + +type StopDiscovererOutput struct { + _ struct{} `type:"structure"` + + DiscovererId *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` +} + +// String returns the string representation +func (s StopDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopDiscovererOutput) GoString() string { + return s.String() +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *StopDiscovererOutput) SetDiscovererId(v string) *StopDiscovererOutput { + s.DiscovererId = &v + return s +} + +// SetState sets the State field's value. +func (s *StopDiscovererOutput) SetState(v string) *StopDiscovererOutput { + s.State = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // Key-value pairs associated with a resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UnlockServiceLinkedRoleInput struct { + _ struct{} `type:"structure"` + + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UnlockServiceLinkedRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnlockServiceLinkedRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UnlockServiceLinkedRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UnlockServiceLinkedRoleInput"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UnlockServiceLinkedRoleInput) SetRoleArn(v string) *UnlockServiceLinkedRoleInput { + s.RoleArn = &v + return s +} + +type UnlockServiceLinkedRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UnlockServiceLinkedRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnlockServiceLinkedRoleOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateDiscovererInput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + // DiscovererId is a required field + DiscovererId *string `location:"uri" locationName:"discovererId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDiscovererInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDiscovererInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDiscovererInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDiscovererInput"} + if s.DiscovererId == nil { + invalidParams.Add(request.NewErrParamRequired("DiscovererId")) + } + if s.DiscovererId != nil && len(*s.DiscovererId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DiscovererId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateDiscovererInput) SetDescription(v string) *UpdateDiscovererInput { + s.Description = &v + return s +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *UpdateDiscovererInput) SetDiscovererId(v string) *UpdateDiscovererInput { + s.DiscovererId = &v + return s +} + +type UpdateDiscovererOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + DiscovererArn *string `type:"string"` + + DiscovererId *string `type:"string"` + + SourceArn *string `type:"string"` + + State *string `type:"string" enum:"DiscovererState"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s UpdateDiscovererOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDiscovererOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateDiscovererOutput) SetDescription(v string) *UpdateDiscovererOutput { + s.Description = &v + return s +} + +// SetDiscovererArn sets the DiscovererArn field's value. +func (s *UpdateDiscovererOutput) SetDiscovererArn(v string) *UpdateDiscovererOutput { + s.DiscovererArn = &v + return s +} + +// SetDiscovererId sets the DiscovererId field's value. +func (s *UpdateDiscovererOutput) SetDiscovererId(v string) *UpdateDiscovererOutput { + s.DiscovererId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *UpdateDiscovererOutput) SetSourceArn(v string) *UpdateDiscovererOutput { + s.SourceArn = &v + return s +} + +// SetState sets the State field's value. +func (s *UpdateDiscovererOutput) SetState(v string) *UpdateDiscovererOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateDiscovererOutput) SetTags(v map[string]*string) *UpdateDiscovererOutput { + s.Tags = v + return s +} + +type UpdateRegistryInput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateRegistryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRegistryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRegistryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRegistryInput"} + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateRegistryInput) SetDescription(v string) *UpdateRegistryInput { + s.Description = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *UpdateRegistryInput) SetRegistryName(v string) *UpdateRegistryInput { + s.RegistryName = &v + return s +} + +type UpdateRegistryOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + RegistryArn *string `type:"string"` + + RegistryName *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s UpdateRegistryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRegistryOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateRegistryOutput) SetDescription(v string) *UpdateRegistryOutput { + s.Description = &v + return s +} + +// SetRegistryArn sets the RegistryArn field's value. +func (s *UpdateRegistryOutput) SetRegistryArn(v string) *UpdateRegistryOutput { + s.RegistryArn = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *UpdateRegistryOutput) SetRegistryName(v string) *UpdateRegistryOutput { + s.RegistryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateRegistryOutput) SetTags(v map[string]*string) *UpdateRegistryOutput { + s.Tags = v + return s +} + +type UpdateSchemaInput struct { + _ struct{} `type:"structure"` + + ClientTokenId *string `type:"string" idempotencyToken:"true"` + + Content *string `min:"1" type:"string"` + + Description *string `type:"string"` + + // RegistryName is a required field + RegistryName *string `location:"uri" locationName:"registryName" type:"string" required:"true"` + + // SchemaName is a required field + SchemaName *string `location:"uri" locationName:"schemaName" type:"string" required:"true"` + + Type *string `type:"string" enum:"Type"` +} + +// String returns the string representation +func (s UpdateSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSchemaInput"} + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.RegistryName == nil { + invalidParams.Add(request.NewErrParamRequired("RegistryName")) + } + if s.RegistryName != nil && len(*s.RegistryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistryName", 1)) + } + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.SchemaName != nil && len(*s.SchemaName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientTokenId sets the ClientTokenId field's value. +func (s *UpdateSchemaInput) SetClientTokenId(v string) *UpdateSchemaInput { + s.ClientTokenId = &v + return s +} + +// SetContent sets the Content field's value. +func (s *UpdateSchemaInput) SetContent(v string) *UpdateSchemaInput { + s.Content = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateSchemaInput) SetDescription(v string) *UpdateSchemaInput { + s.Description = &v + return s +} + +// SetRegistryName sets the RegistryName field's value. +func (s *UpdateSchemaInput) SetRegistryName(v string) *UpdateSchemaInput { + s.RegistryName = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *UpdateSchemaInput) SetSchemaName(v string) *UpdateSchemaInput { + s.SchemaName = &v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateSchemaInput) SetType(v string) *UpdateSchemaInput { + s.Type = &v + return s +} + +type UpdateSchemaOutput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + SchemaArn *string `type:"string"` + + SchemaName *string `type:"string"` + + SchemaVersion *string `type:"string"` + + // Key-value pairs associated with a resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `type:"string"` + + VersionCreatedDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s UpdateSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSchemaOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateSchemaOutput) SetDescription(v string) *UpdateSchemaOutput { + s.Description = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *UpdateSchemaOutput) SetLastModified(v time.Time) *UpdateSchemaOutput { + s.LastModified = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *UpdateSchemaOutput) SetSchemaArn(v string) *UpdateSchemaOutput { + s.SchemaArn = &v + return s +} + +// SetSchemaName sets the SchemaName field's value. +func (s *UpdateSchemaOutput) SetSchemaName(v string) *UpdateSchemaOutput { + s.SchemaName = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *UpdateSchemaOutput) SetSchemaVersion(v string) *UpdateSchemaOutput { + s.SchemaVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateSchemaOutput) SetTags(v map[string]*string) *UpdateSchemaOutput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateSchemaOutput) SetType(v string) *UpdateSchemaOutput { + s.Type = &v + return s +} + +// SetVersionCreatedDate sets the VersionCreatedDate field's value. +func (s *UpdateSchemaOutput) SetVersionCreatedDate(v time.Time) *UpdateSchemaOutput { + s.VersionCreatedDate = &v + return s +} + +const ( + // CodeGenerationStatusCreateInProgress is a CodeGenerationStatus enum value + CodeGenerationStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // CodeGenerationStatusCreateComplete is a CodeGenerationStatus enum value + CodeGenerationStatusCreateComplete = "CREATE_COMPLETE" + + // CodeGenerationStatusCreateFailed is a CodeGenerationStatus enum value + CodeGenerationStatusCreateFailed = "CREATE_FAILED" +) + +const ( + // DiscovererStateStarted is a DiscovererState enum value + DiscovererStateStarted = "STARTED" + + // DiscovererStateStopped is a DiscovererState enum value + DiscovererStateStopped = "STOPPED" +) + +const ( + // TypeOpenApi3 is a Type enum value + TypeOpenApi3 = "OpenApi3" +) diff --git a/service/schemas/doc.go b/service/schemas/doc.go new file mode 100644 index 00000000000..4c3cf917f5f --- /dev/null +++ b/service/schemas/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package schemas provides the client and types for making API +// requests to Schemas. +// +// AWS EventBridge Schemas +// +// See https://docs.aws.amazon.com/goto/WebAPI/schemas-2019-12-02 for more information on this service. +// +// See schemas package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/schemas/ +// +// Using the Client +// +// To contact Schemas with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Schemas client Schemas for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/schemas/#New +package schemas diff --git a/service/schemas/errors.go b/service/schemas/errors.go new file mode 100644 index 00000000000..6dcbfaf6a79 --- /dev/null +++ b/service/schemas/errors.go @@ -0,0 +1,42 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package schemas + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + ErrCodeConflictException = "ConflictException" + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeGoneException for service response error code + // "GoneException". + ErrCodeGoneException = "GoneException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + ErrCodeUnauthorizedException = "UnauthorizedException" +) diff --git a/service/schemas/schemasiface/interface.go b/service/schemas/schemasiface/interface.go new file mode 100644 index 00000000000..1c8103ae62f --- /dev/null +++ b/service/schemas/schemasiface/interface.go @@ -0,0 +1,198 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package schemasiface provides an interface to enable mocking the Schemas service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package schemasiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/schemas" +) + +// SchemasAPI provides an interface to enable mocking the +// schemas.Schemas service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Schemas. +// func myFunc(svc schemasiface.SchemasAPI) bool { +// // Make svc.CreateDiscoverer request +// } +// +// func main() { +// sess := session.New() +// svc := schemas.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSchemasClient struct { +// schemasiface.SchemasAPI +// } +// func (m *mockSchemasClient) CreateDiscoverer(input *schemas.CreateDiscovererInput) (*schemas.CreateDiscovererOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSchemasClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type SchemasAPI interface { + CreateDiscoverer(*schemas.CreateDiscovererInput) (*schemas.CreateDiscovererOutput, error) + CreateDiscovererWithContext(aws.Context, *schemas.CreateDiscovererInput, ...request.Option) (*schemas.CreateDiscovererOutput, error) + CreateDiscovererRequest(*schemas.CreateDiscovererInput) (*request.Request, *schemas.CreateDiscovererOutput) + + CreateRegistry(*schemas.CreateRegistryInput) (*schemas.CreateRegistryOutput, error) + CreateRegistryWithContext(aws.Context, *schemas.CreateRegistryInput, ...request.Option) (*schemas.CreateRegistryOutput, error) + CreateRegistryRequest(*schemas.CreateRegistryInput) (*request.Request, *schemas.CreateRegistryOutput) + + CreateSchema(*schemas.CreateSchemaInput) (*schemas.CreateSchemaOutput, error) + CreateSchemaWithContext(aws.Context, *schemas.CreateSchemaInput, ...request.Option) (*schemas.CreateSchemaOutput, error) + CreateSchemaRequest(*schemas.CreateSchemaInput) (*request.Request, *schemas.CreateSchemaOutput) + + DeleteDiscoverer(*schemas.DeleteDiscovererInput) (*schemas.DeleteDiscovererOutput, error) + DeleteDiscovererWithContext(aws.Context, *schemas.DeleteDiscovererInput, ...request.Option) (*schemas.DeleteDiscovererOutput, error) + DeleteDiscovererRequest(*schemas.DeleteDiscovererInput) (*request.Request, *schemas.DeleteDiscovererOutput) + + DeleteRegistry(*schemas.DeleteRegistryInput) (*schemas.DeleteRegistryOutput, error) + DeleteRegistryWithContext(aws.Context, *schemas.DeleteRegistryInput, ...request.Option) (*schemas.DeleteRegistryOutput, error) + DeleteRegistryRequest(*schemas.DeleteRegistryInput) (*request.Request, *schemas.DeleteRegistryOutput) + + DeleteSchema(*schemas.DeleteSchemaInput) (*schemas.DeleteSchemaOutput, error) + DeleteSchemaWithContext(aws.Context, *schemas.DeleteSchemaInput, ...request.Option) (*schemas.DeleteSchemaOutput, error) + DeleteSchemaRequest(*schemas.DeleteSchemaInput) (*request.Request, *schemas.DeleteSchemaOutput) + + DeleteSchemaVersion(*schemas.DeleteSchemaVersionInput) (*schemas.DeleteSchemaVersionOutput, error) + DeleteSchemaVersionWithContext(aws.Context, *schemas.DeleteSchemaVersionInput, ...request.Option) (*schemas.DeleteSchemaVersionOutput, error) + DeleteSchemaVersionRequest(*schemas.DeleteSchemaVersionInput) (*request.Request, *schemas.DeleteSchemaVersionOutput) + + DescribeCodeBinding(*schemas.DescribeCodeBindingInput) (*schemas.DescribeCodeBindingOutput, error) + DescribeCodeBindingWithContext(aws.Context, *schemas.DescribeCodeBindingInput, ...request.Option) (*schemas.DescribeCodeBindingOutput, error) + DescribeCodeBindingRequest(*schemas.DescribeCodeBindingInput) (*request.Request, *schemas.DescribeCodeBindingOutput) + + DescribeDiscoverer(*schemas.DescribeDiscovererInput) (*schemas.DescribeDiscovererOutput, error) + DescribeDiscovererWithContext(aws.Context, *schemas.DescribeDiscovererInput, ...request.Option) (*schemas.DescribeDiscovererOutput, error) + DescribeDiscovererRequest(*schemas.DescribeDiscovererInput) (*request.Request, *schemas.DescribeDiscovererOutput) + + DescribeRegistry(*schemas.DescribeRegistryInput) (*schemas.DescribeRegistryOutput, error) + DescribeRegistryWithContext(aws.Context, *schemas.DescribeRegistryInput, ...request.Option) (*schemas.DescribeRegistryOutput, error) + DescribeRegistryRequest(*schemas.DescribeRegistryInput) (*request.Request, *schemas.DescribeRegistryOutput) + + DescribeSchema(*schemas.DescribeSchemaInput) (*schemas.DescribeSchemaOutput, error) + DescribeSchemaWithContext(aws.Context, *schemas.DescribeSchemaInput, ...request.Option) (*schemas.DescribeSchemaOutput, error) + DescribeSchemaRequest(*schemas.DescribeSchemaInput) (*request.Request, *schemas.DescribeSchemaOutput) + + GetCodeBindingSource(*schemas.GetCodeBindingSourceInput) (*schemas.GetCodeBindingSourceOutput, error) + GetCodeBindingSourceWithContext(aws.Context, *schemas.GetCodeBindingSourceInput, ...request.Option) (*schemas.GetCodeBindingSourceOutput, error) + GetCodeBindingSourceRequest(*schemas.GetCodeBindingSourceInput) (*request.Request, *schemas.GetCodeBindingSourceOutput) + + GetDiscoveredSchema(*schemas.GetDiscoveredSchemaInput) (*schemas.GetDiscoveredSchemaOutput, error) + GetDiscoveredSchemaWithContext(aws.Context, *schemas.GetDiscoveredSchemaInput, ...request.Option) (*schemas.GetDiscoveredSchemaOutput, error) + GetDiscoveredSchemaRequest(*schemas.GetDiscoveredSchemaInput) (*request.Request, *schemas.GetDiscoveredSchemaOutput) + + ListDiscoverers(*schemas.ListDiscoverersInput) (*schemas.ListDiscoverersOutput, error) + ListDiscoverersWithContext(aws.Context, *schemas.ListDiscoverersInput, ...request.Option) (*schemas.ListDiscoverersOutput, error) + ListDiscoverersRequest(*schemas.ListDiscoverersInput) (*request.Request, *schemas.ListDiscoverersOutput) + + ListDiscoverersPages(*schemas.ListDiscoverersInput, func(*schemas.ListDiscoverersOutput, bool) bool) error + ListDiscoverersPagesWithContext(aws.Context, *schemas.ListDiscoverersInput, func(*schemas.ListDiscoverersOutput, bool) bool, ...request.Option) error + + ListRegistries(*schemas.ListRegistriesInput) (*schemas.ListRegistriesOutput, error) + ListRegistriesWithContext(aws.Context, *schemas.ListRegistriesInput, ...request.Option) (*schemas.ListRegistriesOutput, error) + ListRegistriesRequest(*schemas.ListRegistriesInput) (*request.Request, *schemas.ListRegistriesOutput) + + ListRegistriesPages(*schemas.ListRegistriesInput, func(*schemas.ListRegistriesOutput, bool) bool) error + ListRegistriesPagesWithContext(aws.Context, *schemas.ListRegistriesInput, func(*schemas.ListRegistriesOutput, bool) bool, ...request.Option) error + + ListSchemaVersions(*schemas.ListSchemaVersionsInput) (*schemas.ListSchemaVersionsOutput, error) + ListSchemaVersionsWithContext(aws.Context, *schemas.ListSchemaVersionsInput, ...request.Option) (*schemas.ListSchemaVersionsOutput, error) + ListSchemaVersionsRequest(*schemas.ListSchemaVersionsInput) (*request.Request, *schemas.ListSchemaVersionsOutput) + + ListSchemaVersionsPages(*schemas.ListSchemaVersionsInput, func(*schemas.ListSchemaVersionsOutput, bool) bool) error + ListSchemaVersionsPagesWithContext(aws.Context, *schemas.ListSchemaVersionsInput, func(*schemas.ListSchemaVersionsOutput, bool) bool, ...request.Option) error + + ListSchemas(*schemas.ListSchemasInput) (*schemas.ListSchemasOutput, error) + ListSchemasWithContext(aws.Context, *schemas.ListSchemasInput, ...request.Option) (*schemas.ListSchemasOutput, error) + ListSchemasRequest(*schemas.ListSchemasInput) (*request.Request, *schemas.ListSchemasOutput) + + ListSchemasPages(*schemas.ListSchemasInput, func(*schemas.ListSchemasOutput, bool) bool) error + ListSchemasPagesWithContext(aws.Context, *schemas.ListSchemasInput, func(*schemas.ListSchemasOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*schemas.ListTagsForResourceInput) (*schemas.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *schemas.ListTagsForResourceInput, ...request.Option) (*schemas.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*schemas.ListTagsForResourceInput) (*request.Request, *schemas.ListTagsForResourceOutput) + + LockServiceLinkedRole(*schemas.LockServiceLinkedRoleInput) (*schemas.LockServiceLinkedRoleOutput, error) + LockServiceLinkedRoleWithContext(aws.Context, *schemas.LockServiceLinkedRoleInput, ...request.Option) (*schemas.LockServiceLinkedRoleOutput, error) + LockServiceLinkedRoleRequest(*schemas.LockServiceLinkedRoleInput) (*request.Request, *schemas.LockServiceLinkedRoleOutput) + + PutCodeBinding(*schemas.PutCodeBindingInput) (*schemas.PutCodeBindingOutput, error) + PutCodeBindingWithContext(aws.Context, *schemas.PutCodeBindingInput, ...request.Option) (*schemas.PutCodeBindingOutput, error) + PutCodeBindingRequest(*schemas.PutCodeBindingInput) (*request.Request, *schemas.PutCodeBindingOutput) + + SearchSchemas(*schemas.SearchSchemasInput) (*schemas.SearchSchemasOutput, error) + SearchSchemasWithContext(aws.Context, *schemas.SearchSchemasInput, ...request.Option) (*schemas.SearchSchemasOutput, error) + SearchSchemasRequest(*schemas.SearchSchemasInput) (*request.Request, *schemas.SearchSchemasOutput) + + SearchSchemasPages(*schemas.SearchSchemasInput, func(*schemas.SearchSchemasOutput, bool) bool) error + SearchSchemasPagesWithContext(aws.Context, *schemas.SearchSchemasInput, func(*schemas.SearchSchemasOutput, bool) bool, ...request.Option) error + + StartDiscoverer(*schemas.StartDiscovererInput) (*schemas.StartDiscovererOutput, error) + StartDiscovererWithContext(aws.Context, *schemas.StartDiscovererInput, ...request.Option) (*schemas.StartDiscovererOutput, error) + StartDiscovererRequest(*schemas.StartDiscovererInput) (*request.Request, *schemas.StartDiscovererOutput) + + StopDiscoverer(*schemas.StopDiscovererInput) (*schemas.StopDiscovererOutput, error) + StopDiscovererWithContext(aws.Context, *schemas.StopDiscovererInput, ...request.Option) (*schemas.StopDiscovererOutput, error) + StopDiscovererRequest(*schemas.StopDiscovererInput) (*request.Request, *schemas.StopDiscovererOutput) + + TagResource(*schemas.TagResourceInput) (*schemas.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *schemas.TagResourceInput, ...request.Option) (*schemas.TagResourceOutput, error) + TagResourceRequest(*schemas.TagResourceInput) (*request.Request, *schemas.TagResourceOutput) + + UnlockServiceLinkedRole(*schemas.UnlockServiceLinkedRoleInput) (*schemas.UnlockServiceLinkedRoleOutput, error) + UnlockServiceLinkedRoleWithContext(aws.Context, *schemas.UnlockServiceLinkedRoleInput, ...request.Option) (*schemas.UnlockServiceLinkedRoleOutput, error) + UnlockServiceLinkedRoleRequest(*schemas.UnlockServiceLinkedRoleInput) (*request.Request, *schemas.UnlockServiceLinkedRoleOutput) + + UntagResource(*schemas.UntagResourceInput) (*schemas.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *schemas.UntagResourceInput, ...request.Option) (*schemas.UntagResourceOutput, error) + UntagResourceRequest(*schemas.UntagResourceInput) (*request.Request, *schemas.UntagResourceOutput) + + UpdateDiscoverer(*schemas.UpdateDiscovererInput) (*schemas.UpdateDiscovererOutput, error) + UpdateDiscovererWithContext(aws.Context, *schemas.UpdateDiscovererInput, ...request.Option) (*schemas.UpdateDiscovererOutput, error) + UpdateDiscovererRequest(*schemas.UpdateDiscovererInput) (*request.Request, *schemas.UpdateDiscovererOutput) + + UpdateRegistry(*schemas.UpdateRegistryInput) (*schemas.UpdateRegistryOutput, error) + UpdateRegistryWithContext(aws.Context, *schemas.UpdateRegistryInput, ...request.Option) (*schemas.UpdateRegistryOutput, error) + UpdateRegistryRequest(*schemas.UpdateRegistryInput) (*request.Request, *schemas.UpdateRegistryOutput) + + UpdateSchema(*schemas.UpdateSchemaInput) (*schemas.UpdateSchemaOutput, error) + UpdateSchemaWithContext(aws.Context, *schemas.UpdateSchemaInput, ...request.Option) (*schemas.UpdateSchemaOutput, error) + UpdateSchemaRequest(*schemas.UpdateSchemaInput) (*request.Request, *schemas.UpdateSchemaOutput) + + WaitUntilCodeBindingExists(*schemas.DescribeCodeBindingInput) error + WaitUntilCodeBindingExistsWithContext(aws.Context, *schemas.DescribeCodeBindingInput, ...request.WaiterOption) error +} + +var _ SchemasAPI = (*schemas.Schemas)(nil) diff --git a/service/schemas/service.go b/service/schemas/service.go new file mode 100644 index 00000000000..60d7b0e10f5 --- /dev/null +++ b/service/schemas/service.go @@ -0,0 +1,101 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package schemas + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// Schemas provides the API operation methods for making requests to +// Schemas. See this package's package overview docs +// for details on the service. +// +// Schemas methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Schemas struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "schemas" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "schemas" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the Schemas client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a Schemas client from just a session. +// svc := schemas.New(mySession) +// +// // Create a Schemas client with additional configuration +// svc := schemas.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Schemas { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "schemas" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *Schemas { + svc := &Schemas{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2019-12-02", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Schemas operation and runs any +// custom request initialization. +func (c *Schemas) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/schemas/waiters.go b/service/schemas/waiters.go new file mode 100644 index 00000000000..e6a936fadc7 --- /dev/null +++ b/service/schemas/waiters.go @@ -0,0 +1,71 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package schemas + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilCodeBindingExists uses the Schemas API operation +// DescribeCodeBinding to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Schemas) WaitUntilCodeBindingExists(input *DescribeCodeBindingInput) error { + return c.WaitUntilCodeBindingExistsWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilCodeBindingExistsWithContext is an extended version of WaitUntilCodeBindingExists. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *Schemas) WaitUntilCodeBindingExistsWithContext(ctx aws.Context, input *DescribeCodeBindingInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilCodeBindingExists", + MaxAttempts: 30, + Delay: request.ConstantWaiterDelay(2 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "CREATE_COMPLETE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "CREATE_IN_PROGRESS", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "CREATE_FAILED", + }, + { + State: request.FailureWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "NotFoundException", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeCodeBindingInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCodeBindingRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +}