aws-sdk-marketplacedeployment 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,191 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::MarketplaceDeployment
11
+ # @api private
12
+ module ClientApi
13
+
14
+ include Seahorse::Model
15
+
16
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ Catalog = Shapes::StringShape.new(name: 'Catalog')
18
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
19
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
20
+ DeploymentParameterInput = Shapes::StructureShape.new(name: 'DeploymentParameterInput')
21
+ DeploymentParameterName = Shapes::StringShape.new(name: 'DeploymentParameterName')
22
+ DeploymentParameterResourceIdentifier = Shapes::StringShape.new(name: 'DeploymentParameterResourceIdentifier')
23
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
24
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
25
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
26
+ PutDeploymentParameterRequest = Shapes::StructureShape.new(name: 'PutDeploymentParameterRequest')
27
+ PutDeploymentParameterResponse = Shapes::StructureShape.new(name: 'PutDeploymentParameterResponse')
28
+ ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
29
+ ResourceId = Shapes::StringShape.new(name: 'ResourceId')
30
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
31
+ SecretString = Shapes::StringShape.new(name: 'SecretString')
32
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
33
+ String = Shapes::StringShape.new(name: 'String')
34
+ StringList = Shapes::ListShape.new(name: 'StringList')
35
+ SyntheticTimestamp_date_time = Shapes::TimestampShape.new(name: 'SyntheticTimestamp_date_time', timestampFormat: "iso8601")
36
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
37
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
38
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
39
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
40
+ Tags = Shapes::MapShape.new(name: 'Tags')
41
+ TagsMap = Shapes::MapShape.new(name: 'TagsMap')
42
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
43
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
44
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
45
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
46
+
47
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
48
+ AccessDeniedException.struct_class = Types::AccessDeniedException
49
+
50
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
51
+ ConflictException.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "resourceId"))
52
+ ConflictException.struct_class = Types::ConflictException
53
+
54
+ DeploymentParameterInput.add_member(:name, Shapes::ShapeRef.new(shape: DeploymentParameterName, required: true, location_name: "name"))
55
+ DeploymentParameterInput.add_member(:secret_string, Shapes::ShapeRef.new(shape: SecretString, required: true, location_name: "secretString"))
56
+ DeploymentParameterInput.struct_class = Types::DeploymentParameterInput
57
+
58
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
59
+ InternalServerException.struct_class = Types::InternalServerException
60
+
61
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
62
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
63
+
64
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
65
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
66
+
67
+ PutDeploymentParameterRequest.add_member(:agreement_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "agreementId"))
68
+ PutDeploymentParameterRequest.add_member(:catalog, Shapes::ShapeRef.new(shape: Catalog, required: true, location: "uri", location_name: "catalog"))
69
+ PutDeploymentParameterRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
70
+ PutDeploymentParameterRequest.add_member(:deployment_parameter, Shapes::ShapeRef.new(shape: DeploymentParameterInput, required: true, location_name: "deploymentParameter"))
71
+ PutDeploymentParameterRequest.add_member(:expiration_date, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "expirationDate"))
72
+ PutDeploymentParameterRequest.add_member(:product_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location: "uri", location_name: "productId"))
73
+ PutDeploymentParameterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
74
+ PutDeploymentParameterRequest.struct_class = Types::PutDeploymentParameterRequest
75
+
76
+ PutDeploymentParameterResponse.add_member(:agreement_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "agreementId"))
77
+ PutDeploymentParameterResponse.add_member(:deployment_parameter_id, Shapes::ShapeRef.new(shape: DeploymentParameterResourceIdentifier, required: true, location_name: "deploymentParameterId"))
78
+ PutDeploymentParameterResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
79
+ PutDeploymentParameterResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
80
+ PutDeploymentParameterResponse.struct_class = Types::PutDeploymentParameterResponse
81
+
82
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
83
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
84
+
85
+ ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
86
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
87
+
88
+ StringList.member = Shapes::ShapeRef.new(shape: String)
89
+
90
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
91
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
92
+ TagResourceRequest.struct_class = Types::TagResourceRequest
93
+
94
+ TagResourceResponse.struct_class = Types::TagResourceResponse
95
+
96
+ Tags.key = Shapes::ShapeRef.new(shape: String)
97
+ Tags.value = Shapes::ShapeRef.new(shape: String)
98
+
99
+ TagsMap.key = Shapes::ShapeRef.new(shape: TagKey)
100
+ TagsMap.value = Shapes::ShapeRef.new(shape: TagValue)
101
+
102
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
103
+ ThrottlingException.struct_class = Types::ThrottlingException
104
+
105
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
106
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: StringList, required: true, location: "querystring", location_name: "tagKeys"))
107
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
108
+
109
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
110
+
111
+ ValidationException.add_member(:field_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "fieldName"))
112
+ ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
113
+ ValidationException.struct_class = Types::ValidationException
114
+
115
+
116
+ # @api private
117
+ API = Seahorse::Model::Api.new.tap do |api|
118
+
119
+ api.version = "2023-01-25"
120
+
121
+ api.metadata = {
122
+ "apiVersion" => "2023-01-25",
123
+ "endpointPrefix" => "deployment-marketplace",
124
+ "jsonVersion" => "1.1",
125
+ "protocol" => "rest-json",
126
+ "serviceFullName" => "AWS Marketplace Deployment Service",
127
+ "serviceId" => "Marketplace Deployment",
128
+ "signatureVersion" => "v4",
129
+ "signingName" => "aws-marketplace",
130
+ "uid" => "marketplace-deployment-2023-01-25",
131
+ }
132
+
133
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
134
+ o.name = "ListTagsForResource"
135
+ o.http_method = "GET"
136
+ o.http_request_uri = "/tags/{resourceArn}"
137
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
138
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
139
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
140
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
141
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
142
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
143
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
144
+ end)
145
+
146
+ api.add_operation(:put_deployment_parameter, Seahorse::Model::Operation.new.tap do |o|
147
+ o.name = "PutDeploymentParameter"
148
+ o.http_method = "POST"
149
+ o.http_request_uri = "/catalogs/{catalog}/products/{productId}/deployment-parameters"
150
+ o.input = Shapes::ShapeRef.new(shape: PutDeploymentParameterRequest)
151
+ o.output = Shapes::ShapeRef.new(shape: PutDeploymentParameterResponse)
152
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
153
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
154
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
155
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
156
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
157
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
158
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
159
+ end)
160
+
161
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
162
+ o.name = "TagResource"
163
+ o.http_method = "POST"
164
+ o.http_request_uri = "/tags/{resourceArn}"
165
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
166
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
167
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
168
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
169
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
170
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
171
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
172
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
173
+ end)
174
+
175
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
176
+ o.name = "UntagResource"
177
+ o.http_method = "DELETE"
178
+ o.http_request_uri = "/tags/{resourceArn}"
179
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
180
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
181
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
182
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
183
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
184
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
185
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
186
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
187
+ end)
188
+ end
189
+
190
+ end
191
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::MarketplaceDeployment
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::MarketplaceDeployment
11
+ class EndpointProvider
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://deployment-marketplace-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ return Aws::Endpoints::Endpoint.new(url: "https://deployment-marketplace-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://deployment-marketplace.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ return Aws::Endpoints::Endpoint.new(url: "https://deployment-marketplace.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
+ end
48
+ end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
+ raise ArgumentError, 'No endpoint could be resolved'
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::MarketplaceDeployment
12
+ # @api private
13
+ module Endpoints
14
+
15
+ class ListTagsForResource
16
+ def self.build(context)
17
+ unless context.config.regional_endpoint
18
+ endpoint = context.config.endpoint.to_s
19
+ end
20
+ Aws::MarketplaceDeployment::EndpointParameters.new(
21
+ region: context.config.region,
22
+ use_dual_stack: context.config.use_dualstack_endpoint,
23
+ use_fips: context.config.use_fips_endpoint,
24
+ endpoint: endpoint,
25
+ )
26
+ end
27
+ end
28
+
29
+ class PutDeploymentParameter
30
+ def self.build(context)
31
+ unless context.config.regional_endpoint
32
+ endpoint = context.config.endpoint.to_s
33
+ end
34
+ Aws::MarketplaceDeployment::EndpointParameters.new(
35
+ region: context.config.region,
36
+ use_dual_stack: context.config.use_dualstack_endpoint,
37
+ use_fips: context.config.use_fips_endpoint,
38
+ endpoint: endpoint,
39
+ )
40
+ end
41
+ end
42
+
43
+ class TagResource
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::MarketplaceDeployment::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
57
+ class UntagResource
58
+ def self.build(context)
59
+ unless context.config.regional_endpoint
60
+ endpoint = context.config.endpoint.to_s
61
+ end
62
+ Aws::MarketplaceDeployment::EndpointParameters.new(
63
+ region: context.config.region,
64
+ use_dual_stack: context.config.use_dualstack_endpoint,
65
+ use_fips: context.config.use_fips_endpoint,
66
+ endpoint: endpoint,
67
+ )
68
+ end
69
+ end
70
+
71
+ end
72
+ end
@@ -0,0 +1,172 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::MarketplaceDeployment
11
+
12
+ # When MarketplaceDeployment returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::MarketplaceDeployment::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all MarketplaceDeployment errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::MarketplaceDeployment::Errors::ServiceError
20
+ # # rescues all MarketplaceDeployment API errors
21
+ # end
22
+ #
23
+ #
24
+ # ## Request Context
25
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
26
+ # information about the request that generated the error.
27
+ # See {Seahorse::Client::RequestContext} for more information.
28
+ #
29
+ # ## Error Classes
30
+ # * {AccessDeniedException}
31
+ # * {ConflictException}
32
+ # * {InternalServerException}
33
+ # * {ResourceNotFoundException}
34
+ # * {ServiceQuotaExceededException}
35
+ # * {ThrottlingException}
36
+ # * {ValidationException}
37
+ #
38
+ # Additionally, error classes are dynamically generated for service errors based on the error code
39
+ # if they are not defined above.
40
+ module Errors
41
+
42
+ extend Aws::Errors::DynamicErrors
43
+
44
+ class AccessDeniedException < ServiceError
45
+
46
+ # @param [Seahorse::Client::RequestContext] context
47
+ # @param [String] message
48
+ # @param [Aws::MarketplaceDeployment::Types::AccessDeniedException] data
49
+ def initialize(context, message, data = Aws::EmptyStructure.new)
50
+ super(context, message, data)
51
+ end
52
+
53
+ # @return [String]
54
+ def message
55
+ @message || @data[:message]
56
+ end
57
+ end
58
+
59
+ class ConflictException < ServiceError
60
+
61
+ # @param [Seahorse::Client::RequestContext] context
62
+ # @param [String] message
63
+ # @param [Aws::MarketplaceDeployment::Types::ConflictException] data
64
+ def initialize(context, message, data = Aws::EmptyStructure.new)
65
+ super(context, message, data)
66
+ end
67
+
68
+ # @return [String]
69
+ def message
70
+ @message || @data[:message]
71
+ end
72
+
73
+ # @return [String]
74
+ def resource_id
75
+ @data[:resource_id]
76
+ end
77
+ end
78
+
79
+ class InternalServerException < ServiceError
80
+
81
+ # @param [Seahorse::Client::RequestContext] context
82
+ # @param [String] message
83
+ # @param [Aws::MarketplaceDeployment::Types::InternalServerException] data
84
+ def initialize(context, message, data = Aws::EmptyStructure.new)
85
+ super(context, message, data)
86
+ end
87
+
88
+ # @return [String]
89
+ def message
90
+ @message || @data[:message]
91
+ end
92
+
93
+ def retryable?
94
+ true
95
+ end
96
+ end
97
+
98
+ class ResourceNotFoundException < ServiceError
99
+
100
+ # @param [Seahorse::Client::RequestContext] context
101
+ # @param [String] message
102
+ # @param [Aws::MarketplaceDeployment::Types::ResourceNotFoundException] data
103
+ def initialize(context, message, data = Aws::EmptyStructure.new)
104
+ super(context, message, data)
105
+ end
106
+
107
+ # @return [String]
108
+ def message
109
+ @message || @data[:message]
110
+ end
111
+ end
112
+
113
+ class ServiceQuotaExceededException < ServiceError
114
+
115
+ # @param [Seahorse::Client::RequestContext] context
116
+ # @param [String] message
117
+ # @param [Aws::MarketplaceDeployment::Types::ServiceQuotaExceededException] data
118
+ def initialize(context, message, data = Aws::EmptyStructure.new)
119
+ super(context, message, data)
120
+ end
121
+
122
+ # @return [String]
123
+ def message
124
+ @message || @data[:message]
125
+ end
126
+ end
127
+
128
+ class ThrottlingException < ServiceError
129
+
130
+ # @param [Seahorse::Client::RequestContext] context
131
+ # @param [String] message
132
+ # @param [Aws::MarketplaceDeployment::Types::ThrottlingException] data
133
+ def initialize(context, message, data = Aws::EmptyStructure.new)
134
+ super(context, message, data)
135
+ end
136
+
137
+ # @return [String]
138
+ def message
139
+ @message || @data[:message]
140
+ end
141
+
142
+ def retryable?
143
+ true
144
+ end
145
+
146
+ def throttling?
147
+ true
148
+ end
149
+ end
150
+
151
+ class ValidationException < ServiceError
152
+
153
+ # @param [Seahorse::Client::RequestContext] context
154
+ # @param [String] message
155
+ # @param [Aws::MarketplaceDeployment::Types::ValidationException] data
156
+ def initialize(context, message, data = Aws::EmptyStructure.new)
157
+ super(context, message, data)
158
+ end
159
+
160
+ # @return [String]
161
+ def field_name
162
+ @data[:field_name]
163
+ end
164
+
165
+ # @return [String]
166
+ def message
167
+ @message || @data[:message]
168
+ end
169
+ end
170
+
171
+ end
172
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::MarketplaceDeployment
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::MarketplaceDeployment::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::MarketplaceDeployment::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::MarketplaceDeployment::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ unless context[:discovered_endpoint]
29
+ params = parameters_for_operation(context)
30
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
31
+
32
+ context.http_request.endpoint = endpoint.url
33
+ apply_endpoint_headers(context, endpoint.headers)
34
+
35
+ context[:endpoint_params] = params
36
+ context[:endpoint_properties] = endpoint.properties
37
+ end
38
+
39
+ context[:auth_scheme] =
40
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
41
+
42
+ @handler.call(context)
43
+ end
44
+
45
+ private
46
+
47
+ def apply_endpoint_headers(context, headers)
48
+ headers.each do |key, values|
49
+ value = values
50
+ .compact
51
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
52
+ .join(',')
53
+
54
+ context.http_request.headers[key] = value
55
+ end
56
+ end
57
+
58
+ def parameters_for_operation(context)
59
+ case context.operation_name
60
+ when :list_tags_for_resource
61
+ Aws::MarketplaceDeployment::Endpoints::ListTagsForResource.build(context)
62
+ when :put_deployment_parameter
63
+ Aws::MarketplaceDeployment::Endpoints::PutDeploymentParameter.build(context)
64
+ when :tag_resource
65
+ Aws::MarketplaceDeployment::Endpoints::TagResource.build(context)
66
+ when :untag_resource
67
+ Aws::MarketplaceDeployment::Endpoints::UntagResource.build(context)
68
+ end
69
+ end
70
+ end
71
+
72
+ def add_handlers(handlers, _config)
73
+ handlers.add(Handler, step: :build, priority: 75)
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::MarketplaceDeployment
11
+
12
+ class Resource
13
+
14
+ # @param options ({})
15
+ # @option options [Client] :client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Client.new(options)
18
+ end
19
+
20
+ # @return [Client]
21
+ def client
22
+ @client
23
+ end
24
+
25
+ end
26
+ end