aws-sdk-core 3.98.0 → 3.102.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/aws-sdk-core.rb +2 -0
- data/lib/aws-sdk-core/arn.rb +2 -0
- data/lib/aws-sdk-core/arn_parser.rb +2 -0
- data/lib/aws-sdk-core/assume_role_credentials.rb +2 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +2 -0
- data/lib/aws-sdk-core/async_client_stubs.rb +2 -0
- data/lib/aws-sdk-core/binary.rb +2 -0
- data/lib/aws-sdk-core/binary/decode_handler.rb +2 -0
- data/lib/aws-sdk-core/binary/encode_handler.rb +2 -0
- data/lib/aws-sdk-core/binary/event_builder.rb +2 -0
- data/lib/aws-sdk-core/binary/event_parser.rb +2 -0
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +2 -0
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +2 -0
- data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +2 -0
- data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +2 -0
- data/lib/aws-sdk-core/client_stubs.rb +2 -0
- data/lib/aws-sdk-core/credential_provider.rb +2 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +2 -0
- data/lib/aws-sdk-core/credentials.rb +2 -0
- data/lib/aws-sdk-core/deprecations.rb +2 -0
- data/lib/aws-sdk-core/eager_loader.rb +2 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +2 -0
- data/lib/aws-sdk-core/endpoint_cache.rb +2 -0
- data/lib/aws-sdk-core/errors.rb +34 -6
- data/lib/aws-sdk-core/event_emitter.rb +2 -0
- data/lib/aws-sdk-core/ini_parser.rb +2 -0
- data/lib/aws-sdk-core/instance_profile_credentials.rb +2 -0
- data/lib/aws-sdk-core/json.rb +2 -0
- data/lib/aws-sdk-core/json/builder.rb +2 -0
- data/lib/aws-sdk-core/json/error_handler.rb +2 -0
- data/lib/aws-sdk-core/json/handler.rb +2 -0
- data/lib/aws-sdk-core/json/json_engine.rb +2 -0
- data/lib/aws-sdk-core/json/oj_engine.rb +2 -0
- data/lib/aws-sdk-core/json/parser.rb +2 -0
- data/lib/aws-sdk-core/log/formatter.rb +8 -2
- data/lib/aws-sdk-core/log/handler.rb +2 -0
- data/lib/aws-sdk-core/log/param_filter.rb +29 -12
- data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
- data/lib/aws-sdk-core/pageable_response.rb +2 -0
- data/lib/aws-sdk-core/pager.rb +2 -0
- data/lib/aws-sdk-core/param_converter.rb +2 -0
- data/lib/aws-sdk-core/param_validator.rb +2 -0
- data/lib/aws-sdk-core/plugins/api_key.rb +2 -0
- data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +2 -0
- data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/apig_user_agent.rb +2 -0
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +2 -0
- data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +2 -0
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +2 -0
- data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +2 -0
- data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/global_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
- data/lib/aws-sdk-core/plugins/http_checksum.rb +57 -0
- data/lib/aws-sdk-core/plugins/idempotency_token.rb +2 -0
- data/lib/aws-sdk-core/plugins/invocation_id.rb +2 -0
- data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +2 -0
- data/lib/aws-sdk-core/plugins/logging.rb +2 -0
- data/lib/aws-sdk-core/plugins/param_converter.rb +2 -0
- data/lib/aws-sdk-core/plugins/param_validator.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +19 -14
- data/lib/aws-sdk-core/plugins/response_paging.rb +2 -0
- data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +2 -0
- data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +2 -0
- data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -0
- data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +2 -0
- data/lib/aws-sdk-core/plugins/retry_errors.rb +2 -0
- data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
- data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -0
- data/lib/aws-sdk-core/plugins/stub_responses.rb +2 -0
- data/lib/aws-sdk-core/plugins/transfer_encoding.rb +2 -0
- data/lib/aws-sdk-core/plugins/user_agent.rb +2 -0
- data/lib/aws-sdk-core/process_credentials.rb +3 -2
- data/lib/aws-sdk-core/query.rb +2 -0
- data/lib/aws-sdk-core/query/ec2_param_builder.rb +2 -0
- data/lib/aws-sdk-core/query/handler.rb +2 -0
- data/lib/aws-sdk-core/query/param.rb +2 -0
- data/lib/aws-sdk-core/query/param_builder.rb +2 -0
- data/lib/aws-sdk-core/query/param_list.rb +2 -0
- data/lib/aws-sdk-core/refreshing_credentials.rb +2 -0
- data/lib/aws-sdk-core/resources/collection.rb +2 -0
- data/lib/aws-sdk-core/rest.rb +2 -0
- data/lib/aws-sdk-core/rest/handler.rb +2 -0
- data/lib/aws-sdk-core/rest/request/body.rb +2 -0
- data/lib/aws-sdk-core/rest/request/builder.rb +2 -0
- data/lib/aws-sdk-core/rest/request/endpoint.rb +2 -0
- data/lib/aws-sdk-core/rest/request/headers.rb +2 -0
- data/lib/aws-sdk-core/rest/request/querystring_builder.rb +2 -0
- data/lib/aws-sdk-core/rest/response/body.rb +2 -0
- data/lib/aws-sdk-core/rest/response/headers.rb +2 -0
- data/lib/aws-sdk-core/rest/response/parser.rb +2 -0
- data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
- data/lib/aws-sdk-core/shared_config.rb +2 -0
- data/lib/aws-sdk-core/shared_credentials.rb +2 -0
- data/lib/aws-sdk-core/structure.rb +3 -1
- data/lib/aws-sdk-core/stubbing/data_applicator.rb +2 -0
- data/lib/aws-sdk-core/stubbing/empty_stub.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +2 -0
- data/lib/aws-sdk-core/stubbing/stub_data.rb +2 -0
- data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
- data/lib/aws-sdk-core/type_builder.rb +2 -0
- data/lib/aws-sdk-core/util.rb +2 -0
- data/lib/aws-sdk-core/waiters.rb +2 -0
- data/lib/aws-sdk-core/waiters/errors.rb +2 -0
- data/lib/aws-sdk-core/waiters/poller.rb +2 -0
- data/lib/aws-sdk-core/waiters/waiter.rb +2 -0
- data/lib/aws-sdk-core/xml.rb +2 -0
- data/lib/aws-sdk-core/xml/builder.rb +2 -0
- data/lib/aws-sdk-core/xml/default_list.rb +2 -0
- data/lib/aws-sdk-core/xml/default_map.rb +2 -0
- data/lib/aws-sdk-core/xml/doc_builder.rb +2 -0
- data/lib/aws-sdk-core/xml/error_handler.rb +2 -0
- data/lib/aws-sdk-core/xml/parser.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/ox.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/frame.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
- data/lib/aws-sdk-sts.rb +3 -1
- data/lib/aws-sdk-sts/client.rb +6 -2
- data/lib/aws-sdk-sts/client_api.rb +2 -0
- data/lib/aws-sdk-sts/customizations.rb +2 -0
- data/lib/aws-sdk-sts/errors.rb +2 -0
- data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +2 -0
- data/lib/aws-sdk-sts/presigner.rb +2 -0
- data/lib/aws-sdk-sts/resource.rb +2 -0
- data/lib/aws-sdk-sts/types.rb +30 -0
- data/lib/seahorse.rb +2 -0
- data/lib/seahorse/client/async_base.rb +2 -0
- data/lib/seahorse/client/async_response.rb +2 -0
- data/lib/seahorse/client/base.rb +2 -0
- data/lib/seahorse/client/block_io.rb +3 -0
- data/lib/seahorse/client/configuration.rb +2 -0
- data/lib/seahorse/client/events.rb +2 -0
- data/lib/seahorse/client/h2/connection.rb +2 -0
- data/lib/seahorse/client/h2/handler.rb +2 -0
- data/lib/seahorse/client/handler.rb +2 -0
- data/lib/seahorse/client/handler_builder.rb +2 -0
- data/lib/seahorse/client/handler_list.rb +2 -0
- data/lib/seahorse/client/handler_list_entry.rb +2 -0
- data/lib/seahorse/client/http/async_response.rb +2 -0
- data/lib/seahorse/client/http/headers.rb +2 -0
- data/lib/seahorse/client/http/request.rb +2 -0
- data/lib/seahorse/client/http/response.rb +2 -0
- data/lib/seahorse/client/logging/formatter.rb +2 -0
- data/lib/seahorse/client/logging/handler.rb +2 -0
- data/lib/seahorse/client/managed_file.rb +2 -0
- data/lib/seahorse/client/net_http/connection_pool.rb +2 -0
- data/lib/seahorse/client/net_http/handler.rb +2 -0
- data/lib/seahorse/client/net_http/patches.rb +2 -0
- data/lib/seahorse/client/networking_error.rb +2 -0
- data/lib/seahorse/client/plugin.rb +2 -0
- data/lib/seahorse/client/plugin_list.rb +2 -0
- data/lib/seahorse/client/plugins/content_length.rb +2 -0
- data/lib/seahorse/client/plugins/endpoint.rb +4 -2
- data/lib/seahorse/client/plugins/h2.rb +2 -0
- data/lib/seahorse/client/plugins/logging.rb +2 -0
- data/lib/seahorse/client/plugins/net_http.rb +2 -0
- data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
- data/lib/seahorse/client/plugins/raise_response_errors.rb +2 -0
- data/lib/seahorse/client/plugins/response_target.rb +18 -7
- data/lib/seahorse/client/request.rb +2 -0
- data/lib/seahorse/client/request_context.rb +2 -0
- data/lib/seahorse/client/response.rb +2 -0
- data/lib/seahorse/model/api.rb +2 -0
- data/lib/seahorse/model/authorizer.rb +2 -0
- data/lib/seahorse/model/operation.rb +5 -0
- data/lib/seahorse/model/shapes.rb +2 -0
- data/lib/seahorse/util.rb +2 -0
- data/lib/seahorse/version.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7fc179e3e488a2fd1bd6f0db5ad586d094778cf9a21c1e382b62151118225df6
|
|
4
|
+
data.tar.gz: cc9d9832e1151e79ccb81c70351e80afd7def92f78e8296e9cd9f8555b9a66a0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d86af36d1803a57aa45edd30786568b6ed0976b348e02fb2012e726016d5b6d15c1143425aea1b1af0c85b2e11ac943f01cc3596c6c6969b38b6085eb68f7d02
|
|
7
|
+
data.tar.gz: 14c968ab6c605de0fa58ab06268c07abae32642c54ef7742a6ebd0db1006f44226f072276bcb119bbc16e19f10e551d72141d7214400769d42264c65bafc45c9
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.102.0
|
data/lib/aws-sdk-core.rb
CHANGED
data/lib/aws-sdk-core/arn.rb
CHANGED
data/lib/aws-sdk-core/binary.rb
CHANGED
data/lib/aws-sdk-core/errors.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Aws
|
|
2
4
|
module Errors
|
|
3
5
|
|
|
@@ -208,12 +210,40 @@ module Aws
|
|
|
208
210
|
# Raised when a client is constructed and region is not specified.
|
|
209
211
|
class MissingRegionError < ArgumentError
|
|
210
212
|
def initialize(*args)
|
|
211
|
-
msg = '
|
|
212
|
-
|
|
213
|
+
msg = 'No region was provided. Configure the `:region` option or '\
|
|
214
|
+
"export the region name to ENV['AWS_REGION']"
|
|
213
215
|
super(msg)
|
|
214
216
|
end
|
|
215
217
|
end
|
|
216
218
|
|
|
219
|
+
# Raised when a client is contsructed and the region is not valid.
|
|
220
|
+
class InvalidRegionError < ArgumentError
|
|
221
|
+
def initialize(*args)
|
|
222
|
+
super(<<-MSG)
|
|
223
|
+
Invalid `:region` option was provided.
|
|
224
|
+
|
|
225
|
+
* Not every service is available in every region.
|
|
226
|
+
|
|
227
|
+
* Never suffix region names with availability zones.
|
|
228
|
+
Use "us-east-1", not "us-east-1a"
|
|
229
|
+
|
|
230
|
+
Known AWS regions include (not specific to this service):
|
|
231
|
+
|
|
232
|
+
#{possible_regions}
|
|
233
|
+
MSG
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
private
|
|
237
|
+
|
|
238
|
+
def possible_regions
|
|
239
|
+
Aws.partitions.each_with_object([]) do |partition, region_names|
|
|
240
|
+
partition.regions.each do |region|
|
|
241
|
+
region_names << region.name
|
|
242
|
+
end
|
|
243
|
+
end.join("\n")
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
|
|
217
247
|
# Raised when attempting to connect to an endpoint and a `SocketError`
|
|
218
248
|
# is received from the HTTP client. This error is typically the result
|
|
219
249
|
# of configuring an invalid `:region`.
|
|
@@ -226,7 +256,7 @@ module Aws
|
|
|
226
256
|
super(<<-MSG)
|
|
227
257
|
Encountered a `SocketError` while attempting to connect to:
|
|
228
258
|
|
|
229
|
-
#{endpoint
|
|
259
|
+
#{endpoint}
|
|
230
260
|
|
|
231
261
|
This is typically the result of an invalid `:region` option or a
|
|
232
262
|
poorly formatted `:endpoint` option.
|
|
@@ -255,14 +285,12 @@ Known AWS regions include (not specific to this service):
|
|
|
255
285
|
private
|
|
256
286
|
|
|
257
287
|
def possible_regions
|
|
258
|
-
Aws.partitions.
|
|
288
|
+
Aws.partitions.each_with_object([]) do |partition, region_names|
|
|
259
289
|
partition.regions.each do |region|
|
|
260
290
|
region_names << region.name
|
|
261
291
|
end
|
|
262
|
-
region_names
|
|
263
292
|
end.join("\n")
|
|
264
293
|
end
|
|
265
|
-
|
|
266
294
|
end
|
|
267
295
|
|
|
268
296
|
# Raised when attempting to retry a request
|
data/lib/aws-sdk-core/json.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'pathname'
|
|
2
4
|
|
|
3
5
|
module Aws
|
|
@@ -83,6 +85,9 @@ module Aws
|
|
|
83
85
|
# The default list of filtered parameters is documented on the
|
|
84
86
|
# {ParamFilter} class.
|
|
85
87
|
#
|
|
88
|
+
# @option options [Boolean] :filter_sensitive_params (true) Set to false
|
|
89
|
+
# to disable the sensitive parameter filtering when logging
|
|
90
|
+
# `:request_params`.
|
|
86
91
|
def initialize(pattern, options = {})
|
|
87
92
|
@pattern = pattern
|
|
88
93
|
@param_formatter = ParamFormatter.new(options)
|
|
@@ -97,7 +102,7 @@ module Aws
|
|
|
97
102
|
# @param [Seahorse::Client::Response] response
|
|
98
103
|
# @return [String]
|
|
99
104
|
def format(response)
|
|
100
|
-
pattern.gsub(/:(\w+)/) {|sym| send("_#{sym[1..-1]}", response) }
|
|
105
|
+
pattern.gsub(/:(\w+)/) { |sym| send("_#{sym[1..-1]}", response) }
|
|
101
106
|
end
|
|
102
107
|
|
|
103
108
|
# @api private
|
|
@@ -121,7 +126,8 @@ module Aws
|
|
|
121
126
|
|
|
122
127
|
def _request_params(response)
|
|
123
128
|
params = response.context.params
|
|
124
|
-
|
|
129
|
+
type = response.context.operation.input.shape.struct_class
|
|
130
|
+
@param_formatter.summarize(@param_filter.filter(params, type))
|
|
125
131
|
end
|
|
126
132
|
|
|
127
133
|
def _time(response)
|
|
@@ -1,43 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'pathname'
|
|
2
4
|
require 'set'
|
|
3
5
|
|
|
4
6
|
module Aws
|
|
5
7
|
module Log
|
|
6
8
|
class ParamFilter
|
|
7
|
-
|
|
9
|
+
# DEPRECATED - this must exist for backwards compatibility. Sensitive
|
|
10
|
+
# members are now computed for each request/response type. This can be
|
|
11
|
+
# removed in a new major version.
|
|
12
|
+
#
|
|
8
13
|
# A managed list of sensitive parameters that should be filtered from
|
|
9
14
|
# logs. This is updated automatically as part of each release. See the
|
|
10
15
|
# `tasks/update-sensitive-params.rake` for more information.
|
|
11
16
|
#
|
|
12
17
|
# @api private
|
|
13
18
|
# begin
|
|
14
|
-
SENSITIVE = [:access_token, :account_name, :account_password, :address, :admin_contact, :admin_password, :alexa_for_business_room_arn, :artifact_credentials, :auth_code, :authentication_token, :authorization_result, :backup_plan_tags, :backup_vault_tags, :base_32_string_seed, :block, :block_address, :block_data, :blocks, :body, :bot_configuration, :bot_email, :calling_name, :cause, :client_id, :client_request_token, :client_secret, :comment, :configuration, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :custom_private_key, :db_password, :default_phone_number, :definition, :description, :destination_access_token, :digest_tip_address, :display_name, :domain_signing_private_key, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :external_meeting_id, :external_model_endpoint_data_blobs, :external_user_id, :fall_back_phone_number, :feedback_token, :file, :filter_expression, :first_name, :full_name, :host_key, :id, :id_token, :input, :input_text, :ion_text, :join_token, :key, :key_id, :key_material, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_name, :master_user_password, :meeting_host_id, :message, :metadata, :name, :new_password, :next_password, :notes, :number, :old_password, :outbound_events_https_endpoint, :output, :owner_information, :parameters, :passphrase, :password, :payload, :phone_number, :plaintext, :previous_password, :primary_email, :primary_provisioned_number, :private_key, :private_key_plaintext, :proof, :proposed_password, :proxy_phone_number, :public_key, :qr_code_png, :query, :random_password, :recovery_point_tags, :refresh_token, :registrant_contact, :request_attributes, :resource_arn, :restore_metadata, :revision, :saml_assertion, :search_query, :secret_access_key, :secret_binary, :secret_code, :secret_hash, :secret_string, :secret_to_authenticate_initiator, :secret_to_authenticate_target, :security_token, :service_password, :session_attributes, :session_token, :share_notes, :shared_secret, :slots, :sns_topic_arn, :source_access_token, :sqs_queue_arn, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :target_address, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_data, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :vpn_psk, :web_identity_token, :zip_file]
|
|
19
|
+
SENSITIVE = [:access_token, :account_name, :account_password, :address, :admin_contact, :admin_password, :alexa_for_business_room_arn, :artifact_credentials, :auth_code, :auth_parameters, :authentication_token, :authorization_result, :backup_plan_tags, :backup_vault_tags, :base_32_string_seed, :basic_auth_credentials, :block, :block_address, :block_data, :blocks, :body, :bot_configuration, :bot_email, :calling_name, :cause, :client_id, :client_request_token, :client_secret, :comment, :configuration, :content, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :custom_private_key, :db_password, :default_phone_number, :definition, :description, :destination_access_token, :digest_tip_address, :display_name, :domain_signing_private_key, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :external_meeting_id, :external_model_endpoint_data_blobs, :external_user_id, :fall_back_phone_number, :feedback_token, :file, :filter_expression, :first_name, :full_name, :host_key, :id, :id_token, :input, :input_text, :ion_text, :join_token, :key, :key_id, :key_material, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_name, :master_user_password, :meeting_host_id, :message, :metadata, :name, :new_password, :next_password, :notes, :number, :oauth_token, :old_password, :outbound_events_https_endpoint, :output, :owner_information, :parameters, :passphrase, :password, :payload, :phone_number, :plaintext, :previous_password, :primary_email, :primary_provisioned_number, :private_key, :private_key_plaintext, :proof, :proposed_password, :proxy_phone_number, :public_key, :qr_code_png, :query, :random_password, :recovery_point_tags, :refresh_token, :registrant_contact, :request_attributes, :resource_arn, :restore_metadata, :revision, :saml_assertion, :search_query, :secret_access_key, :secret_binary, :secret_code, :secret_hash, :secret_string, :secret_to_authenticate_initiator, :secret_to_authenticate_target, :security_token, :service_password, :session_attributes, :session_token, :share_notes, :shared_secret, :slots, :sns_topic_arn, :source_access_token, :sqs_queue_arn, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :target_address, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_data, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :vpn_psk, :web_identity_token, :zip_file]
|
|
15
20
|
# end
|
|
16
21
|
|
|
17
22
|
def initialize(options = {})
|
|
18
|
-
@
|
|
23
|
+
@enabled = options[:filter_sensitive_params] != false
|
|
24
|
+
@additional_filters = options[:filter] || []
|
|
19
25
|
end
|
|
20
26
|
|
|
21
|
-
def filter(
|
|
22
|
-
case
|
|
23
|
-
when Struct, Hash then filter_hash(
|
|
24
|
-
when Array then filter_array(
|
|
25
|
-
else
|
|
27
|
+
def filter(values, type)
|
|
28
|
+
case values
|
|
29
|
+
when Struct, Hash then filter_hash(values, type)
|
|
30
|
+
when Array then filter_array(values, type)
|
|
31
|
+
else values
|
|
26
32
|
end
|
|
27
33
|
end
|
|
28
34
|
|
|
29
35
|
private
|
|
30
36
|
|
|
31
|
-
def filter_hash(values)
|
|
37
|
+
def filter_hash(values, type)
|
|
38
|
+
if type.const_defined?('SENSITIVE')
|
|
39
|
+
filters = type::SENSITIVE + @additional_filters
|
|
40
|
+
else
|
|
41
|
+
# Support backwards compatibility (new core + old service)
|
|
42
|
+
filters = SENSITIVE + @additional_filters
|
|
43
|
+
end
|
|
44
|
+
|
|
32
45
|
filtered = {}
|
|
33
46
|
values.each_pair do |key, value|
|
|
34
|
-
filtered[key] = @filters.
|
|
47
|
+
filtered[key] = if @enabled && filters.include?(key)
|
|
48
|
+
'[FILTERED]'
|
|
49
|
+
else
|
|
50
|
+
filter(value, type)
|
|
51
|
+
end
|
|
35
52
|
end
|
|
36
53
|
filtered
|
|
37
54
|
end
|
|
38
55
|
|
|
39
|
-
def filter_array(values)
|
|
40
|
-
values.map { |value| filter(value) }
|
|
56
|
+
def filter_array(values, type)
|
|
57
|
+
values.map { |value| filter(value, type) }
|
|
41
58
|
end
|
|
42
59
|
|
|
43
60
|
end
|