aws-sdk-core 3.99.2 → 3.103.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.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/aws-sdk-core.rb +2 -0
  4. data/lib/aws-sdk-core/arn.rb +2 -0
  5. data/lib/aws-sdk-core/arn_parser.rb +2 -0
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +2 -0
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +2 -0
  8. data/lib/aws-sdk-core/async_client_stubs.rb +2 -0
  9. data/lib/aws-sdk-core/binary.rb +2 -0
  10. data/lib/aws-sdk-core/binary/decode_handler.rb +2 -0
  11. data/lib/aws-sdk-core/binary/encode_handler.rb +2 -0
  12. data/lib/aws-sdk-core/binary/event_builder.rb +2 -0
  13. data/lib/aws-sdk-core/binary/event_parser.rb +2 -0
  14. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +2 -0
  15. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +2 -0
  16. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +2 -0
  17. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +2 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +2 -0
  19. data/lib/aws-sdk-core/credential_provider.rb +2 -0
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +2 -0
  21. data/lib/aws-sdk-core/credentials.rb +2 -0
  22. data/lib/aws-sdk-core/deprecations.rb +2 -0
  23. data/lib/aws-sdk-core/eager_loader.rb +2 -0
  24. data/lib/aws-sdk-core/ecs_credentials.rb +2 -0
  25. data/lib/aws-sdk-core/endpoint_cache.rb +2 -0
  26. data/lib/aws-sdk-core/errors.rb +2 -0
  27. data/lib/aws-sdk-core/event_emitter.rb +2 -0
  28. data/lib/aws-sdk-core/ini_parser.rb +2 -0
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +2 -0
  30. data/lib/aws-sdk-core/json.rb +2 -0
  31. data/lib/aws-sdk-core/json/builder.rb +2 -0
  32. data/lib/aws-sdk-core/json/error_handler.rb +2 -0
  33. data/lib/aws-sdk-core/json/handler.rb +2 -0
  34. data/lib/aws-sdk-core/json/json_engine.rb +2 -0
  35. data/lib/aws-sdk-core/json/oj_engine.rb +2 -0
  36. data/lib/aws-sdk-core/json/parser.rb +2 -0
  37. data/lib/aws-sdk-core/log/formatter.rb +8 -2
  38. data/lib/aws-sdk-core/log/handler.rb +2 -0
  39. data/lib/aws-sdk-core/log/param_filter.rb +29 -12
  40. data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
  41. data/lib/aws-sdk-core/pageable_response.rb +2 -0
  42. data/lib/aws-sdk-core/pager.rb +2 -0
  43. data/lib/aws-sdk-core/param_converter.rb +2 -0
  44. data/lib/aws-sdk-core/param_validator.rb +2 -0
  45. data/lib/aws-sdk-core/plugins/api_key.rb +2 -0
  46. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +2 -0
  47. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +2 -0
  48. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +2 -0
  49. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +2 -0
  50. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +2 -0
  51. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
  52. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +2 -0
  53. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +2 -0
  54. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +2 -0
  55. data/lib/aws-sdk-core/plugins/global_configuration.rb +2 -0
  56. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
  57. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -0
  58. data/lib/aws-sdk-core/plugins/idempotency_token.rb +2 -0
  59. data/lib/aws-sdk-core/plugins/invocation_id.rb +2 -0
  60. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +2 -0
  61. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  62. data/lib/aws-sdk-core/plugins/param_converter.rb +2 -0
  63. data/lib/aws-sdk-core/plugins/param_validator.rb +2 -0
  64. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +2 -0
  65. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -0
  66. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +2 -0
  67. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -0
  68. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +2 -0
  69. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
  70. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +2 -0
  71. data/lib/aws-sdk-core/plugins/response_paging.rb +2 -0
  72. data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +2 -0
  73. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +2 -0
  74. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -0
  75. data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +2 -0
  76. data/lib/aws-sdk-core/plugins/retry_errors.rb +2 -0
  77. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
  78. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -0
  79. data/lib/aws-sdk-core/plugins/stub_responses.rb +2 -0
  80. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +2 -0
  81. data/lib/aws-sdk-core/plugins/user_agent.rb +2 -0
  82. data/lib/aws-sdk-core/process_credentials.rb +3 -2
  83. data/lib/aws-sdk-core/query.rb +2 -0
  84. data/lib/aws-sdk-core/query/ec2_param_builder.rb +2 -0
  85. data/lib/aws-sdk-core/query/handler.rb +2 -0
  86. data/lib/aws-sdk-core/query/param.rb +2 -0
  87. data/lib/aws-sdk-core/query/param_builder.rb +2 -0
  88. data/lib/aws-sdk-core/query/param_list.rb +2 -0
  89. data/lib/aws-sdk-core/refreshing_credentials.rb +2 -0
  90. data/lib/aws-sdk-core/resources/collection.rb +2 -0
  91. data/lib/aws-sdk-core/rest.rb +2 -0
  92. data/lib/aws-sdk-core/rest/handler.rb +2 -0
  93. data/lib/aws-sdk-core/rest/request/body.rb +2 -0
  94. data/lib/aws-sdk-core/rest/request/builder.rb +2 -0
  95. data/lib/aws-sdk-core/rest/request/endpoint.rb +2 -0
  96. data/lib/aws-sdk-core/rest/request/headers.rb +2 -0
  97. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +2 -0
  98. data/lib/aws-sdk-core/rest/response/body.rb +2 -0
  99. data/lib/aws-sdk-core/rest/response/headers.rb +2 -0
  100. data/lib/aws-sdk-core/rest/response/parser.rb +2 -0
  101. data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
  102. data/lib/aws-sdk-core/shared_config.rb +2 -0
  103. data/lib/aws-sdk-core/shared_credentials.rb +2 -0
  104. data/lib/aws-sdk-core/structure.rb +3 -1
  105. data/lib/aws-sdk-core/stubbing/data_applicator.rb +2 -0
  106. data/lib/aws-sdk-core/stubbing/empty_stub.rb +2 -0
  107. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +2 -0
  108. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +2 -0
  109. data/lib/aws-sdk-core/stubbing/protocols/json.rb +2 -0
  110. data/lib/aws-sdk-core/stubbing/protocols/query.rb +2 -0
  111. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -0
  112. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +2 -0
  113. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +2 -0
  114. data/lib/aws-sdk-core/stubbing/stub_data.rb +2 -0
  115. data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
  116. data/lib/aws-sdk-core/type_builder.rb +2 -0
  117. data/lib/aws-sdk-core/util.rb +2 -0
  118. data/lib/aws-sdk-core/waiters.rb +2 -0
  119. data/lib/aws-sdk-core/waiters/errors.rb +2 -0
  120. data/lib/aws-sdk-core/waiters/poller.rb +2 -0
  121. data/lib/aws-sdk-core/waiters/waiter.rb +2 -0
  122. data/lib/aws-sdk-core/xml.rb +2 -0
  123. data/lib/aws-sdk-core/xml/builder.rb +2 -0
  124. data/lib/aws-sdk-core/xml/default_list.rb +2 -0
  125. data/lib/aws-sdk-core/xml/default_map.rb +2 -0
  126. data/lib/aws-sdk-core/xml/doc_builder.rb +2 -0
  127. data/lib/aws-sdk-core/xml/error_handler.rb +2 -0
  128. data/lib/aws-sdk-core/xml/parser.rb +2 -0
  129. data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
  130. data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
  131. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  132. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +2 -0
  133. data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +2 -0
  134. data/lib/aws-sdk-core/xml/parser/frame.rb +2 -0
  135. data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
  136. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  137. data/lib/aws-sdk-sts.rb +3 -1
  138. data/lib/aws-sdk-sts/client.rb +3 -1
  139. data/lib/aws-sdk-sts/client_api.rb +2 -0
  140. data/lib/aws-sdk-sts/customizations.rb +2 -0
  141. data/lib/aws-sdk-sts/errors.rb +2 -0
  142. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +2 -0
  143. data/lib/aws-sdk-sts/presigner.rb +2 -0
  144. data/lib/aws-sdk-sts/resource.rb +2 -0
  145. data/lib/aws-sdk-sts/types.rb +30 -0
  146. data/lib/seahorse.rb +2 -0
  147. data/lib/seahorse/client/async_base.rb +2 -0
  148. data/lib/seahorse/client/async_response.rb +2 -0
  149. data/lib/seahorse/client/base.rb +2 -0
  150. data/lib/seahorse/client/block_io.rb +2 -0
  151. data/lib/seahorse/client/configuration.rb +2 -0
  152. data/lib/seahorse/client/events.rb +2 -0
  153. data/lib/seahorse/client/h2/connection.rb +2 -0
  154. data/lib/seahorse/client/h2/handler.rb +2 -0
  155. data/lib/seahorse/client/handler.rb +2 -0
  156. data/lib/seahorse/client/handler_builder.rb +2 -0
  157. data/lib/seahorse/client/handler_list.rb +2 -0
  158. data/lib/seahorse/client/handler_list_entry.rb +2 -0
  159. data/lib/seahorse/client/http/async_response.rb +2 -0
  160. data/lib/seahorse/client/http/headers.rb +2 -0
  161. data/lib/seahorse/client/http/request.rb +2 -0
  162. data/lib/seahorse/client/http/response.rb +2 -0
  163. data/lib/seahorse/client/logging/formatter.rb +2 -0
  164. data/lib/seahorse/client/logging/handler.rb +2 -0
  165. data/lib/seahorse/client/managed_file.rb +2 -0
  166. data/lib/seahorse/client/net_http/connection_pool.rb +2 -0
  167. data/lib/seahorse/client/net_http/handler.rb +2 -0
  168. data/lib/seahorse/client/net_http/patches.rb +2 -0
  169. data/lib/seahorse/client/networking_error.rb +2 -0
  170. data/lib/seahorse/client/plugin.rb +2 -0
  171. data/lib/seahorse/client/plugin_list.rb +2 -0
  172. data/lib/seahorse/client/plugins/content_length.rb +2 -0
  173. data/lib/seahorse/client/plugins/endpoint.rb +2 -0
  174. data/lib/seahorse/client/plugins/h2.rb +2 -0
  175. data/lib/seahorse/client/plugins/logging.rb +2 -0
  176. data/lib/seahorse/client/plugins/net_http.rb +2 -0
  177. data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
  178. data/lib/seahorse/client/plugins/raise_response_errors.rb +2 -0
  179. data/lib/seahorse/client/plugins/response_target.rb +5 -4
  180. data/lib/seahorse/client/request.rb +2 -0
  181. data/lib/seahorse/client/request_context.rb +2 -0
  182. data/lib/seahorse/client/response.rb +2 -0
  183. data/lib/seahorse/model/api.rb +2 -0
  184. data/lib/seahorse/model/authorizer.rb +2 -0
  185. data/lib/seahorse/model/operation.rb +2 -0
  186. data/lib/seahorse/model/shapes.rb +2 -0
  187. data/lib/seahorse/util.rb +2 -0
  188. data/lib/seahorse/version.rb +2 -0
  189. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf03bdc54ae7d2b3aaca392c246e2448afe60816e850b6f2389945be397a27f7
4
- data.tar.gz: 0615a87c2daa9bc86e416d7403aedf6d934f5694dd1efda76d6821c0caa12ebd
3
+ metadata.gz: 8ec9ea1bbf0113598ad4e0e247cdd31a44c4cf08c2ce5c8ecaae7dc57c13fc60
4
+ data.tar.gz: 98bd9b0e2fce6476ec301fb114b9e988dc064f4eea53baf298f16934015d4f5d
5
5
  SHA512:
6
- metadata.gz: 8a9b4ba7e6cb3be4ab9fc0905a03162c5cc4b2d12509ebfb53eee3a0098f9f74ed0a5634df1f06f16a4101243c5c59c1e9aac2ed7d4f5ed90f1d068b30573856
7
- data.tar.gz: f625151a68e124037dd2b0a42067a736b0562bebf975649721896d84460d4e830fad4a879d744ff45af39979f1fc75db5516ebc71b67150b412c8272afc90d01
6
+ metadata.gz: 3ee931c1b106879439e83cd7b2e0c121e3c62a88c8c4bdf66d4b1e929132828ac32d3fc6a9a7e390320506f7290f30aa554158896e44207c7aff3abfb46a61ce
7
+ data.tar.gz: 25a26778c1673d9eed09bef65e0afbe9639870b30b8bbc6f962734440c28fe1d9723f8e537da007b0e1af461ad0386b3e59b6d62d5ac6697056cce992e6c5789
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.99.2
1
+ 3.103.0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-partitions'
2
4
  require 'seahorse'
3
5
  require 'jmespath'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # Create and provide access to components of Amazon Resource Names (ARN).
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module ARNParser
3
5
  # Parse a string with an ARN format into an {Aws::ARN} object.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
  require 'securerandom'
3
5
  require 'base64'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module AsyncClientStubs
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'binary/decode_handler'
2
4
  require_relative 'binary/encode_handler'
3
5
  require_relative 'binary/event_stream_decoder'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Binary
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Binary
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Binary
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Binary
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-eventstream'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-eventstream'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thread'
2
4
  require 'socket'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module ClientSideMonitoring
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thread'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module CredentialProvider
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  class CredentialProviderChain
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  class Credentials
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
 
3
5
  # A utility module that provides a class method that wraps
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'time'
3
5
  require 'net/http'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  # a LRU cache caching endpoints data
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Errors
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  class EventEmitter
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  class IniParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'time'
3
5
  require 'net/http'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require_relative 'json/builder'
3
5
  require_relative 'json/error_handler'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'base64'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Json
3
5
  class ErrorHandler < Xml::ErrorHandler
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Json
3
5
  class Handler < Seahorse::Client::Handler
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Json
3
5
  class OjEngine
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Json
3
5
  class JSONEngine
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'base64'
2
4
  require 'time'
3
5
 
@@ -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
- @param_formatter.summarize(@param_filter.filter(params))
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,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Seahorse
2
4
  module Client
3
5
  module Logging
@@ -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, :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, :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, :emergency_phone_number, :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, :test_phone_number, :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
- @filters = Set.new(SENSITIVE + Array(options[:filter]))
23
+ @enabled = options[:filter_sensitive_params] != false
24
+ @additional_filters = options[:filter] || []
19
25
  end
20
26
 
21
- def filter(value)
22
- case value
23
- when Struct, Hash then filter_hash(value)
24
- when Array then filter_array(value)
25
- else value
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.any? { |f| f.to_s.casecmp(key.to_s).zero? } ? '[FILTERED]' : filter(value)
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pathname'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
 
3
5
  # Decorates a {Seahorse::Client::Response} with paging convenience methods.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'jmespath'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'stringio'
2
4
  require 'date'
3
5
  require 'time'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  class ParamValidator
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Plugins
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Plugins
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  module Plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module Plugins
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'date'
2
4
  require_relative 'retries/error_inspector'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'date'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  # @api private
3
5
  module Plugins