aws-sdk-codegurusecurity 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,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::CodeGuruSecurity
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::CodeGuruSecurity
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://codeguru-security-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?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://codeguru-security-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://codeguru-security.#{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://codeguru-security.#{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,197 @@
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::CodeGuruSecurity
12
+ module Endpoints
13
+
14
+ class BatchGetFindings
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::CodeGuruSecurity::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class CreateScan
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::CodeGuruSecurity::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class CreateUploadUrl
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::CodeGuruSecurity::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class GetAccountConfiguration
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::CodeGuruSecurity::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ class GetFindings
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::CodeGuruSecurity::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class GetMetricsSummary
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::CodeGuruSecurity::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
98
+ class GetScan
99
+ def self.build(context)
100
+ unless context.config.regional_endpoint
101
+ endpoint = context.config.endpoint.to_s
102
+ end
103
+ Aws::CodeGuruSecurity::EndpointParameters.new(
104
+ region: context.config.region,
105
+ use_dual_stack: context.config.use_dualstack_endpoint,
106
+ use_fips: context.config.use_fips_endpoint,
107
+ endpoint: endpoint,
108
+ )
109
+ end
110
+ end
111
+
112
+ class ListFindingsMetrics
113
+ def self.build(context)
114
+ unless context.config.regional_endpoint
115
+ endpoint = context.config.endpoint.to_s
116
+ end
117
+ Aws::CodeGuruSecurity::EndpointParameters.new(
118
+ region: context.config.region,
119
+ use_dual_stack: context.config.use_dualstack_endpoint,
120
+ use_fips: context.config.use_fips_endpoint,
121
+ endpoint: endpoint,
122
+ )
123
+ end
124
+ end
125
+
126
+ class ListScans
127
+ def self.build(context)
128
+ unless context.config.regional_endpoint
129
+ endpoint = context.config.endpoint.to_s
130
+ end
131
+ Aws::CodeGuruSecurity::EndpointParameters.new(
132
+ region: context.config.region,
133
+ use_dual_stack: context.config.use_dualstack_endpoint,
134
+ use_fips: context.config.use_fips_endpoint,
135
+ endpoint: endpoint,
136
+ )
137
+ end
138
+ end
139
+
140
+ class ListTagsForResource
141
+ def self.build(context)
142
+ unless context.config.regional_endpoint
143
+ endpoint = context.config.endpoint.to_s
144
+ end
145
+ Aws::CodeGuruSecurity::EndpointParameters.new(
146
+ region: context.config.region,
147
+ use_dual_stack: context.config.use_dualstack_endpoint,
148
+ use_fips: context.config.use_fips_endpoint,
149
+ endpoint: endpoint,
150
+ )
151
+ end
152
+ end
153
+
154
+ class TagResource
155
+ def self.build(context)
156
+ unless context.config.regional_endpoint
157
+ endpoint = context.config.endpoint.to_s
158
+ end
159
+ Aws::CodeGuruSecurity::EndpointParameters.new(
160
+ region: context.config.region,
161
+ use_dual_stack: context.config.use_dualstack_endpoint,
162
+ use_fips: context.config.use_fips_endpoint,
163
+ endpoint: endpoint,
164
+ )
165
+ end
166
+ end
167
+
168
+ class UntagResource
169
+ def self.build(context)
170
+ unless context.config.regional_endpoint
171
+ endpoint = context.config.endpoint.to_s
172
+ end
173
+ Aws::CodeGuruSecurity::EndpointParameters.new(
174
+ region: context.config.region,
175
+ use_dual_stack: context.config.use_dualstack_endpoint,
176
+ use_fips: context.config.use_fips_endpoint,
177
+ endpoint: endpoint,
178
+ )
179
+ end
180
+ end
181
+
182
+ class UpdateAccountConfiguration
183
+ def self.build(context)
184
+ unless context.config.regional_endpoint
185
+ endpoint = context.config.endpoint.to_s
186
+ end
187
+ Aws::CodeGuruSecurity::EndpointParameters.new(
188
+ region: context.config.region,
189
+ use_dual_stack: context.config.use_dualstack_endpoint,
190
+ use_fips: context.config.use_fips_endpoint,
191
+ endpoint: endpoint,
192
+ )
193
+ end
194
+ end
195
+
196
+ end
197
+ end
@@ -0,0 +1,226 @@
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::CodeGuruSecurity
11
+
12
+ # When CodeGuruSecurity returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::CodeGuruSecurity::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all CodeGuruSecurity errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::CodeGuruSecurity::Errors::ServiceError
20
+ # # rescues all CodeGuruSecurity 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
+ # * {ThrottlingException}
35
+ # * {ValidationException}
36
+ #
37
+ # Additionally, error classes are dynamically generated for service errors based on the error code
38
+ # if they are not defined above.
39
+ module Errors
40
+
41
+ extend Aws::Errors::DynamicErrors
42
+
43
+ class AccessDeniedException < ServiceError
44
+
45
+ # @param [Seahorse::Client::RequestContext] context
46
+ # @param [String] message
47
+ # @param [Aws::CodeGuruSecurity::Types::AccessDeniedException] data
48
+ def initialize(context, message, data = Aws::EmptyStructure.new)
49
+ super(context, message, data)
50
+ end
51
+
52
+ # @return [String]
53
+ def error_code
54
+ @data[:error_code]
55
+ end
56
+
57
+ # @return [String]
58
+ def message
59
+ @message || @data[:message]
60
+ end
61
+
62
+ # @return [String]
63
+ def resource_id
64
+ @data[:resource_id]
65
+ end
66
+
67
+ # @return [String]
68
+ def resource_type
69
+ @data[:resource_type]
70
+ end
71
+ end
72
+
73
+ class ConflictException < ServiceError
74
+
75
+ # @param [Seahorse::Client::RequestContext] context
76
+ # @param [String] message
77
+ # @param [Aws::CodeGuruSecurity::Types::ConflictException] data
78
+ def initialize(context, message, data = Aws::EmptyStructure.new)
79
+ super(context, message, data)
80
+ end
81
+
82
+ # @return [String]
83
+ def error_code
84
+ @data[:error_code]
85
+ end
86
+
87
+ # @return [String]
88
+ def message
89
+ @message || @data[:message]
90
+ end
91
+
92
+ # @return [String]
93
+ def resource_id
94
+ @data[:resource_id]
95
+ end
96
+
97
+ # @return [String]
98
+ def resource_type
99
+ @data[:resource_type]
100
+ end
101
+ end
102
+
103
+ class InternalServerException < ServiceError
104
+
105
+ # @param [Seahorse::Client::RequestContext] context
106
+ # @param [String] message
107
+ # @param [Aws::CodeGuruSecurity::Types::InternalServerException] data
108
+ def initialize(context, message, data = Aws::EmptyStructure.new)
109
+ super(context, message, data)
110
+ end
111
+
112
+ # @return [String]
113
+ def error
114
+ @data[:error]
115
+ end
116
+
117
+ # @return [String]
118
+ def message
119
+ @message || @data[:message]
120
+ end
121
+
122
+ def retryable?
123
+ true
124
+ end
125
+ end
126
+
127
+ class ResourceNotFoundException < ServiceError
128
+
129
+ # @param [Seahorse::Client::RequestContext] context
130
+ # @param [String] message
131
+ # @param [Aws::CodeGuruSecurity::Types::ResourceNotFoundException] data
132
+ def initialize(context, message, data = Aws::EmptyStructure.new)
133
+ super(context, message, data)
134
+ end
135
+
136
+ # @return [String]
137
+ def error_code
138
+ @data[:error_code]
139
+ end
140
+
141
+ # @return [String]
142
+ def message
143
+ @message || @data[:message]
144
+ end
145
+
146
+ # @return [String]
147
+ def resource_id
148
+ @data[:resource_id]
149
+ end
150
+
151
+ # @return [String]
152
+ def resource_type
153
+ @data[:resource_type]
154
+ end
155
+ end
156
+
157
+ class ThrottlingException < ServiceError
158
+
159
+ # @param [Seahorse::Client::RequestContext] context
160
+ # @param [String] message
161
+ # @param [Aws::CodeGuruSecurity::Types::ThrottlingException] data
162
+ def initialize(context, message, data = Aws::EmptyStructure.new)
163
+ super(context, message, data)
164
+ end
165
+
166
+ # @return [String]
167
+ def error_code
168
+ @data[:error_code]
169
+ end
170
+
171
+ # @return [String]
172
+ def message
173
+ @message || @data[:message]
174
+ end
175
+
176
+ # @return [String]
177
+ def quota_code
178
+ @data[:quota_code]
179
+ end
180
+
181
+ # @return [String]
182
+ def service_code
183
+ @data[:service_code]
184
+ end
185
+
186
+ def retryable?
187
+ true
188
+ end
189
+
190
+ def throttling?
191
+ true
192
+ end
193
+ end
194
+
195
+ class ValidationException < ServiceError
196
+
197
+ # @param [Seahorse::Client::RequestContext] context
198
+ # @param [String] message
199
+ # @param [Aws::CodeGuruSecurity::Types::ValidationException] data
200
+ def initialize(context, message, data = Aws::EmptyStructure.new)
201
+ super(context, message, data)
202
+ end
203
+
204
+ # @return [String]
205
+ def error_code
206
+ @data[:error_code]
207
+ end
208
+
209
+ # @return [String]
210
+ def field_list
211
+ @data[:field_list]
212
+ end
213
+
214
+ # @return [String]
215
+ def message
216
+ @message || @data[:message]
217
+ end
218
+
219
+ # @return [String]
220
+ def reason
221
+ @data[:reason]
222
+ end
223
+ end
224
+
225
+ end
226
+ end
@@ -0,0 +1,94 @@
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::CodeGuruSecurity
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::CodeGuruSecurity::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::CodeGuruSecurity::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::CodeGuruSecurity::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :batch_get_findings
60
+ Aws::CodeGuruSecurity::Endpoints::BatchGetFindings.build(context)
61
+ when :create_scan
62
+ Aws::CodeGuruSecurity::Endpoints::CreateScan.build(context)
63
+ when :create_upload_url
64
+ Aws::CodeGuruSecurity::Endpoints::CreateUploadUrl.build(context)
65
+ when :get_account_configuration
66
+ Aws::CodeGuruSecurity::Endpoints::GetAccountConfiguration.build(context)
67
+ when :get_findings
68
+ Aws::CodeGuruSecurity::Endpoints::GetFindings.build(context)
69
+ when :get_metrics_summary
70
+ Aws::CodeGuruSecurity::Endpoints::GetMetricsSummary.build(context)
71
+ when :get_scan
72
+ Aws::CodeGuruSecurity::Endpoints::GetScan.build(context)
73
+ when :list_findings_metrics
74
+ Aws::CodeGuruSecurity::Endpoints::ListFindingsMetrics.build(context)
75
+ when :list_scans
76
+ Aws::CodeGuruSecurity::Endpoints::ListScans.build(context)
77
+ when :list_tags_for_resource
78
+ Aws::CodeGuruSecurity::Endpoints::ListTagsForResource.build(context)
79
+ when :tag_resource
80
+ Aws::CodeGuruSecurity::Endpoints::TagResource.build(context)
81
+ when :untag_resource
82
+ Aws::CodeGuruSecurity::Endpoints::UntagResource.build(context)
83
+ when :update_account_configuration
84
+ Aws::CodeGuruSecurity::Endpoints::UpdateAccountConfiguration.build(context)
85
+ end
86
+ end
87
+ end
88
+
89
+ def add_handlers(handlers, _config)
90
+ handlers.add(Handler, step: :build, priority: 75)
91
+ end
92
+ end
93
+ end
94
+ 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::CodeGuruSecurity
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