aws-sdk-mediastore 1.21.0 → 1.26.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.

Potentially problematic release.


This version of aws-sdk-mediastore might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cac998e4c4b1d9db3f6ad470fca3b3497ca06322
4
- data.tar.gz: 167ad480c059d60820a187daca089e11a8f6a164
2
+ SHA256:
3
+ metadata.gz: 95718294d7e6a692ea164f6c7372e481f921b1988ddb1b0856725d6c88bb9b21
4
+ data.tar.gz: e7d095ca62d485d3f30c696205ee2d903250d9baaddce94d665a607ec994f50a
5
5
  SHA512:
6
- metadata.gz: c381f89ab39f3187ce5ef5425261baf9264b40e786843c57b0045d154462c75a8daccc4ac2bc9a50360fe79d77948862cfb82dd27658b226474387638797542e
7
- data.tar.gz: 122569009b2edf0f7f069d52f01f7ad08e6d5d393ea8597eae169dc9f5a09c5197a7d87d920320294e121eb29f8f88c3bec1ab37bca5e8e910b0a33b5180a9a2
6
+ metadata.gz: c09851082566b24a61ee55685611942580fd9450e02e3c8f78d2af22bb8c97468c9133791adcf1d9871e58936a8d0a3a0246aba7434dee819ee8f385c6fb0a44
7
+ data.tar.gz: 0cf3c9a17acb34a4230908550fa5554af1a4e8e397677f5bfe9532a45cddf06d70834795b61137aa9466552c5715c903cc00aa1cb181584e605fca395bc6da3b
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-mediastore/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # media_store = Aws::MediaStore::Client.new
28
+ # resp = media_store.create_container(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS Elemental MediaStore all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS Elemental MediaStore are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::MediaStore::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS Elemental MediaStore API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-mediastore/customizations'
42
45
  # @service
43
46
  module Aws::MediaStore
44
47
 
45
- GEM_VERSION = '1.21.0'
48
+ GEM_VERSION = '1.26.0'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:mediastore)
31
32
 
32
33
  module Aws::MediaStore
34
+ # An API client for MediaStore. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::MediaStore::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::MediaStore
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
76
 
@@ -93,7 +107,7 @@ module Aws::MediaStore
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::MediaStore
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::MediaStore
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::MediaStore
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::MediaStore
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::MediaStore
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::MediaStore
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -219,16 +276,15 @@ module Aws::MediaStore
219
276
  # requests through. Formatted like 'http://proxy.com:123'.
220
277
  #
221
278
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
279
+ # seconds to wait when opening a HTTP session before raising a
223
280
  # `Timeout::Error`.
224
281
  #
225
282
  # @option options [Integer] :http_read_timeout (60) The default
226
283
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
284
+ # safely be set per-request on the session.
229
285
  #
230
286
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
287
+ # seconds a connection is allowed to sit idle before it is
232
288
  # considered stale. Stale connections are closed and removed
233
289
  # from the pool before making a request.
234
290
  #
@@ -237,7 +293,7 @@ module Aws::MediaStore
237
293
  # request body. This option has no effect unless the request has
238
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
295
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
296
+ # request on the session.
241
297
  #
242
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
299
  # HTTP debug output will be sent to the `:logger`.
@@ -418,6 +474,31 @@ module Aws::MediaStore
418
474
  req.send_request(options)
419
475
  end
420
476
 
477
+ # Deletes the metric policy that is associated with the specified
478
+ # container. If there is no metric policy associated with the container,
479
+ # MediaStore doesn't send metrics to CloudWatch.
480
+ #
481
+ # @option params [required, String] :container_name
482
+ # The name of the container that is associated with the metric policy
483
+ # that you want to delete.
484
+ #
485
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
486
+ #
487
+ # @example Request syntax with placeholder values
488
+ #
489
+ # resp = client.delete_metric_policy({
490
+ # container_name: "ContainerName", # required
491
+ # })
492
+ #
493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/DeleteMetricPolicy AWS API Documentation
494
+ #
495
+ # @overload delete_metric_policy(params = {})
496
+ # @param [Hash] params ({})
497
+ def delete_metric_policy(params = {}, options = {})
498
+ req = build_request(:delete_metric_policy, params)
499
+ req.send_request(options)
500
+ end
501
+
421
502
  # Retrieves the properties of the requested container. This request is
422
503
  # commonly used to retrieve the endpoint of a container. An endpoint is
423
504
  # a value assigned by the service when a new container is created. A
@@ -562,6 +643,37 @@ module Aws::MediaStore
562
643
  req.send_request(options)
563
644
  end
564
645
 
646
+ # Returns the metric policy for the specified container.
647
+ #
648
+ # @option params [required, String] :container_name
649
+ # The name of the container that is associated with the metric policy.
650
+ #
651
+ # @return [Types::GetMetricPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
652
+ #
653
+ # * {Types::GetMetricPolicyOutput#metric_policy #metric_policy} => Types::MetricPolicy
654
+ #
655
+ # @example Request syntax with placeholder values
656
+ #
657
+ # resp = client.get_metric_policy({
658
+ # container_name: "ContainerName", # required
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.metric_policy.container_level_metrics #=> String, one of "ENABLED", "DISABLED"
664
+ # resp.metric_policy.metric_policy_rules #=> Array
665
+ # resp.metric_policy.metric_policy_rules[0].object_group #=> String
666
+ # resp.metric_policy.metric_policy_rules[0].object_group_name #=> String
667
+ #
668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/GetMetricPolicy AWS API Documentation
669
+ #
670
+ # @overload get_metric_policy(params = {})
671
+ # @param [Hash] params ({})
672
+ def get_metric_policy(params = {}, options = {})
673
+ req = build_request(:get_metric_policy, params)
674
+ req.send_request(options)
675
+ end
676
+
565
677
  # Lists the properties of all containers in AWS Elemental MediaStore.
566
678
  #
567
679
  # You can query to receive all the containers in one response. Or you
@@ -590,6 +702,8 @@ module Aws::MediaStore
590
702
  # * {Types::ListContainersOutput#containers #containers} => Array&lt;Types::Container&gt;
591
703
  # * {Types::ListContainersOutput#next_token #next_token} => String
592
704
  #
705
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
706
+ #
593
707
  # @example Request syntax with placeholder values
594
708
  #
595
709
  # resp = client.list_containers({
@@ -778,6 +892,59 @@ module Aws::MediaStore
778
892
  req.send_request(options)
779
893
  end
780
894
 
895
+ # The metric policy that you want to add to the container. A metric
896
+ # policy allows AWS Elemental MediaStore to send metrics to Amazon
897
+ # CloudWatch. It takes up to 20 minutes for the new policy to take
898
+ # effect.
899
+ #
900
+ # @option params [required, String] :container_name
901
+ # The name of the container that you want to add the metric policy to.
902
+ #
903
+ # @option params [required, Types::MetricPolicy] :metric_policy
904
+ # The metric policy that you want to associate with the container. In
905
+ # the policy, you must indicate whether you want MediaStore to send
906
+ # container-level metrics. You can also include up to five rules to
907
+ # define groups of objects that you want MediaStore to send object-level
908
+ # metrics for. If you include rules in the policy, construct each rule
909
+ # with both of the following:
910
+ #
911
+ # * An object group that defines which objects to include in the group.
912
+ # The definition can be a path or a file name, but it can't have more
913
+ # than 900 characters. Valid characters are: a-z, A-Z, 0-9, \_
914
+ # (underscore), = (equal), : (colon), . (period), - (hyphen), ~
915
+ # (tilde), / (forward slash), and * (asterisk). Wildcards (*) are
916
+ # acceptable.
917
+ #
918
+ # * An object group name that allows you to refer to the object group.
919
+ # The name can't have more than 30 characters. Valid characters are:
920
+ # a-z, A-Z, 0-9, and \_ (underscore).
921
+ #
922
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
923
+ #
924
+ # @example Request syntax with placeholder values
925
+ #
926
+ # resp = client.put_metric_policy({
927
+ # container_name: "ContainerName", # required
928
+ # metric_policy: { # required
929
+ # container_level_metrics: "ENABLED", # required, accepts ENABLED, DISABLED
930
+ # metric_policy_rules: [
931
+ # {
932
+ # object_group: "ObjectGroup", # required
933
+ # object_group_name: "ObjectGroupName", # required
934
+ # },
935
+ # ],
936
+ # },
937
+ # })
938
+ #
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/PutMetricPolicy AWS API Documentation
940
+ #
941
+ # @overload put_metric_policy(params = {})
942
+ # @param [Hash] params ({})
943
+ def put_metric_policy(params = {}, options = {})
944
+ req = build_request(:put_metric_policy, params)
945
+ req.send_request(options)
946
+ end
947
+
781
948
  # Starts access logging on the specified container. When you enable
782
949
  # access logging on a container, MediaStore delivers access logs for
783
950
  # objects stored in that container to Amazon CloudWatch Logs.
@@ -919,7 +1086,7 @@ module Aws::MediaStore
919
1086
  params: params,
920
1087
  config: config)
921
1088
  context[:gem_name] = 'aws-sdk-mediastore'
922
- context[:gem_version] = '1.21.0'
1089
+ context[:gem_version] = '1.26.0'
923
1090
  Seahorse::Client::Request.new(handlers, context)
924
1091
  end
925
1092
 
@@ -18,6 +18,7 @@ module Aws::MediaStore
18
18
  ContainerARN = Shapes::StringShape.new(name: 'ContainerARN')
19
19
  ContainerAccessLoggingEnabled = Shapes::BooleanShape.new(name: 'ContainerAccessLoggingEnabled')
20
20
  ContainerInUseException = Shapes::StructureShape.new(name: 'ContainerInUseException')
21
+ ContainerLevelMetrics = Shapes::StringShape.new(name: 'ContainerLevelMetrics')
21
22
  ContainerList = Shapes::ListShape.new(name: 'ContainerList')
22
23
  ContainerListLimit = Shapes::IntegerShape.new(name: 'ContainerListLimit')
23
24
  ContainerName = Shapes::StringShape.new(name: 'ContainerName')
@@ -37,6 +38,8 @@ module Aws::MediaStore
37
38
  DeleteCorsPolicyOutput = Shapes::StructureShape.new(name: 'DeleteCorsPolicyOutput')
38
39
  DeleteLifecyclePolicyInput = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyInput')
39
40
  DeleteLifecyclePolicyOutput = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyOutput')
41
+ DeleteMetricPolicyInput = Shapes::StructureShape.new(name: 'DeleteMetricPolicyInput')
42
+ DeleteMetricPolicyOutput = Shapes::StructureShape.new(name: 'DeleteMetricPolicyOutput')
40
43
  DescribeContainerInput = Shapes::StructureShape.new(name: 'DescribeContainerInput')
41
44
  DescribeContainerOutput = Shapes::StructureShape.new(name: 'DescribeContainerOutput')
42
45
  Endpoint = Shapes::StringShape.new(name: 'Endpoint')
@@ -48,6 +51,8 @@ module Aws::MediaStore
48
51
  GetCorsPolicyOutput = Shapes::StructureShape.new(name: 'GetCorsPolicyOutput')
49
52
  GetLifecyclePolicyInput = Shapes::StructureShape.new(name: 'GetLifecyclePolicyInput')
50
53
  GetLifecyclePolicyOutput = Shapes::StructureShape.new(name: 'GetLifecyclePolicyOutput')
54
+ GetMetricPolicyInput = Shapes::StructureShape.new(name: 'GetMetricPolicyInput')
55
+ GetMetricPolicyOutput = Shapes::StructureShape.new(name: 'GetMetricPolicyOutput')
51
56
  Header = Shapes::StringShape.new(name: 'Header')
52
57
  InternalServerError = Shapes::StructureShape.new(name: 'InternalServerError')
53
58
  LifecyclePolicy = Shapes::StringShape.new(name: 'LifecyclePolicy')
@@ -58,6 +63,11 @@ module Aws::MediaStore
58
63
  ListTagsForResourceOutput = Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
59
64
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
60
65
  MethodName = Shapes::StringShape.new(name: 'MethodName')
66
+ MetricPolicy = Shapes::StructureShape.new(name: 'MetricPolicy')
67
+ MetricPolicyRule = Shapes::StructureShape.new(name: 'MetricPolicyRule')
68
+ MetricPolicyRules = Shapes::ListShape.new(name: 'MetricPolicyRules')
69
+ ObjectGroup = Shapes::StringShape.new(name: 'ObjectGroup')
70
+ ObjectGroupName = Shapes::StringShape.new(name: 'ObjectGroupName')
61
71
  Origin = Shapes::StringShape.new(name: 'Origin')
62
72
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
63
73
  PolicyNotFoundException = Shapes::StructureShape.new(name: 'PolicyNotFoundException')
@@ -67,6 +77,8 @@ module Aws::MediaStore
67
77
  PutCorsPolicyOutput = Shapes::StructureShape.new(name: 'PutCorsPolicyOutput')
68
78
  PutLifecyclePolicyInput = Shapes::StructureShape.new(name: 'PutLifecyclePolicyInput')
69
79
  PutLifecyclePolicyOutput = Shapes::StructureShape.new(name: 'PutLifecyclePolicyOutput')
80
+ PutMetricPolicyInput = Shapes::StructureShape.new(name: 'PutMetricPolicyInput')
81
+ PutMetricPolicyOutput = Shapes::StructureShape.new(name: 'PutMetricPolicyOutput')
70
82
  StartAccessLoggingInput = Shapes::StructureShape.new(name: 'StartAccessLoggingInput')
71
83
  StartAccessLoggingOutput = Shapes::StructureShape.new(name: 'StartAccessLoggingOutput')
72
84
  StopAccessLoggingInput = Shapes::StructureShape.new(name: 'StopAccessLoggingInput')
@@ -143,6 +155,11 @@ module Aws::MediaStore
143
155
 
144
156
  DeleteLifecyclePolicyOutput.struct_class = Types::DeleteLifecyclePolicyOutput
145
157
 
158
+ DeleteMetricPolicyInput.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, required: true, location_name: "ContainerName"))
159
+ DeleteMetricPolicyInput.struct_class = Types::DeleteMetricPolicyInput
160
+
161
+ DeleteMetricPolicyOutput.struct_class = Types::DeleteMetricPolicyOutput
162
+
146
163
  DescribeContainerInput.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, location_name: "ContainerName"))
147
164
  DescribeContainerInput.struct_class = Types::DescribeContainerInput
148
165
 
@@ -169,6 +186,12 @@ module Aws::MediaStore
169
186
  GetLifecyclePolicyOutput.add_member(:lifecycle_policy, Shapes::ShapeRef.new(shape: LifecyclePolicy, required: true, location_name: "LifecyclePolicy"))
170
187
  GetLifecyclePolicyOutput.struct_class = Types::GetLifecyclePolicyOutput
171
188
 
189
+ GetMetricPolicyInput.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, required: true, location_name: "ContainerName"))
190
+ GetMetricPolicyInput.struct_class = Types::GetMetricPolicyInput
191
+
192
+ GetMetricPolicyOutput.add_member(:metric_policy, Shapes::ShapeRef.new(shape: MetricPolicy, required: true, location_name: "MetricPolicy"))
193
+ GetMetricPolicyOutput.struct_class = Types::GetMetricPolicyOutput
194
+
172
195
  InternalServerError.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
173
196
  InternalServerError.struct_class = Types::InternalServerError
174
197
 
@@ -189,6 +212,16 @@ module Aws::MediaStore
189
212
  ListTagsForResourceOutput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
190
213
  ListTagsForResourceOutput.struct_class = Types::ListTagsForResourceOutput
191
214
 
215
+ MetricPolicy.add_member(:container_level_metrics, Shapes::ShapeRef.new(shape: ContainerLevelMetrics, required: true, location_name: "ContainerLevelMetrics"))
216
+ MetricPolicy.add_member(:metric_policy_rules, Shapes::ShapeRef.new(shape: MetricPolicyRules, location_name: "MetricPolicyRules"))
217
+ MetricPolicy.struct_class = Types::MetricPolicy
218
+
219
+ MetricPolicyRule.add_member(:object_group, Shapes::ShapeRef.new(shape: ObjectGroup, required: true, location_name: "ObjectGroup"))
220
+ MetricPolicyRule.add_member(:object_group_name, Shapes::ShapeRef.new(shape: ObjectGroupName, required: true, location_name: "ObjectGroupName"))
221
+ MetricPolicyRule.struct_class = Types::MetricPolicyRule
222
+
223
+ MetricPolicyRules.member = Shapes::ShapeRef.new(shape: MetricPolicyRule)
224
+
192
225
  PolicyNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
193
226
  PolicyNotFoundException.struct_class = Types::PolicyNotFoundException
194
227
 
@@ -210,6 +243,12 @@ module Aws::MediaStore
210
243
 
211
244
  PutLifecyclePolicyOutput.struct_class = Types::PutLifecyclePolicyOutput
212
245
 
246
+ PutMetricPolicyInput.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, required: true, location_name: "ContainerName"))
247
+ PutMetricPolicyInput.add_member(:metric_policy, Shapes::ShapeRef.new(shape: MetricPolicy, required: true, location_name: "MetricPolicy"))
248
+ PutMetricPolicyInput.struct_class = Types::PutMetricPolicyInput
249
+
250
+ PutMetricPolicyOutput.struct_class = Types::PutMetricPolicyOutput
251
+
213
252
  StartAccessLoggingInput.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, required: true, location_name: "ContainerName"))
214
253
  StartAccessLoggingInput.struct_class = Types::StartAccessLoggingInput
215
254
 
@@ -318,6 +357,18 @@ module Aws::MediaStore
318
357
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
319
358
  end)
320
359
 
360
+ api.add_operation(:delete_metric_policy, Seahorse::Model::Operation.new.tap do |o|
361
+ o.name = "DeleteMetricPolicy"
362
+ o.http_method = "POST"
363
+ o.http_request_uri = "/"
364
+ o.input = Shapes::ShapeRef.new(shape: DeleteMetricPolicyInput)
365
+ o.output = Shapes::ShapeRef.new(shape: DeleteMetricPolicyOutput)
366
+ o.errors << Shapes::ShapeRef.new(shape: ContainerInUseException)
367
+ o.errors << Shapes::ShapeRef.new(shape: ContainerNotFoundException)
368
+ o.errors << Shapes::ShapeRef.new(shape: PolicyNotFoundException)
369
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
370
+ end)
371
+
321
372
  api.add_operation(:describe_container, Seahorse::Model::Operation.new.tap do |o|
322
373
  o.name = "DescribeContainer"
323
374
  o.http_method = "POST"
@@ -364,6 +415,18 @@ module Aws::MediaStore
364
415
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
365
416
  end)
366
417
 
418
+ api.add_operation(:get_metric_policy, Seahorse::Model::Operation.new.tap do |o|
419
+ o.name = "GetMetricPolicy"
420
+ o.http_method = "POST"
421
+ o.http_request_uri = "/"
422
+ o.input = Shapes::ShapeRef.new(shape: GetMetricPolicyInput)
423
+ o.output = Shapes::ShapeRef.new(shape: GetMetricPolicyOutput)
424
+ o.errors << Shapes::ShapeRef.new(shape: ContainerNotFoundException)
425
+ o.errors << Shapes::ShapeRef.new(shape: PolicyNotFoundException)
426
+ o.errors << Shapes::ShapeRef.new(shape: ContainerInUseException)
427
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
428
+ end)
429
+
367
430
  api.add_operation(:list_containers, Seahorse::Model::Operation.new.tap do |o|
368
431
  o.name = "ListContainers"
369
432
  o.http_method = "POST"
@@ -423,6 +486,17 @@ module Aws::MediaStore
423
486
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
424
487
  end)
425
488
 
489
+ api.add_operation(:put_metric_policy, Seahorse::Model::Operation.new.tap do |o|
490
+ o.name = "PutMetricPolicy"
491
+ o.http_method = "POST"
492
+ o.http_request_uri = "/"
493
+ o.input = Shapes::ShapeRef.new(shape: PutMetricPolicyInput)
494
+ o.output = Shapes::ShapeRef.new(shape: PutMetricPolicyOutput)
495
+ o.errors << Shapes::ShapeRef.new(shape: ContainerInUseException)
496
+ o.errors << Shapes::ShapeRef.new(shape: ContainerNotFoundException)
497
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
498
+ end)
499
+
426
500
  api.add_operation(:start_access_logging, Seahorse::Model::Operation.new.tap do |o|
427
501
  o.name = "StartAccessLogging"
428
502
  o.http_method = "POST"
@@ -6,6 +6,34 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::MediaStore
9
+
10
+ # When MediaStore returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::MediaStore::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all MediaStore errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::MediaStore::Errors::ServiceError
18
+ # # rescues all MediaStore API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ContainerInUseException}
29
+ # * {ContainerNotFoundException}
30
+ # * {CorsPolicyNotFoundException}
31
+ # * {InternalServerError}
32
+ # * {LimitExceededException}
33
+ # * {PolicyNotFoundException}
34
+ #
35
+ # Additionally, error classes are dynamically generated for service errors based on the error code
36
+ # if they are not defined above.
9
37
  module Errors
10
38
 
11
39
  extend Aws::Errors::DynamicErrors
@@ -23,7 +51,6 @@ module Aws::MediaStore
23
51
  def message
24
52
  @message || @data[:message]
25
53
  end
26
-
27
54
  end
28
55
 
29
56
  class ContainerNotFoundException < ServiceError
@@ -39,7 +66,6 @@ module Aws::MediaStore
39
66
  def message
40
67
  @message || @data[:message]
41
68
  end
42
-
43
69
  end
44
70
 
45
71
  class CorsPolicyNotFoundException < ServiceError
@@ -55,7 +81,6 @@ module Aws::MediaStore
55
81
  def message
56
82
  @message || @data[:message]
57
83
  end
58
-
59
84
  end
60
85
 
61
86
  class InternalServerError < ServiceError
@@ -71,7 +96,6 @@ module Aws::MediaStore
71
96
  def message
72
97
  @message || @data[:message]
73
98
  end
74
-
75
99
  end
76
100
 
77
101
  class LimitExceededException < ServiceError
@@ -87,7 +111,6 @@ module Aws::MediaStore
87
111
  def message
88
112
  @message || @data[:message]
89
113
  end
90
-
91
114
  end
92
115
 
93
116
  class PolicyNotFoundException < ServiceError
@@ -103,7 +126,6 @@ module Aws::MediaStore
103
126
  def message
104
127
  @message || @data[:message]
105
128
  end
106
-
107
129
  end
108
130
 
109
131
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::MediaStore
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -331,6 +331,29 @@ module Aws::MediaStore
331
331
  #
332
332
  class DeleteLifecyclePolicyOutput < Aws::EmptyStructure; end
333
333
 
334
+ # @note When making an API call, you may pass DeleteMetricPolicyInput
335
+ # data as a hash:
336
+ #
337
+ # {
338
+ # container_name: "ContainerName", # required
339
+ # }
340
+ #
341
+ # @!attribute [rw] container_name
342
+ # The name of the container that is associated with the metric policy
343
+ # that you want to delete.
344
+ # @return [String]
345
+ #
346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/DeleteMetricPolicyInput AWS API Documentation
347
+ #
348
+ class DeleteMetricPolicyInput < Struct.new(
349
+ :container_name)
350
+ include Aws::Structure
351
+ end
352
+
353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/DeleteMetricPolicyOutput AWS API Documentation
354
+ #
355
+ class DeleteMetricPolicyOutput < Aws::EmptyStructure; end
356
+
334
357
  # @note When making an API call, you may pass DescribeContainerInput
335
358
  # data as a hash:
336
359
  #
@@ -448,6 +471,35 @@ module Aws::MediaStore
448
471
  include Aws::Structure
449
472
  end
450
473
 
474
+ # @note When making an API call, you may pass GetMetricPolicyInput
475
+ # data as a hash:
476
+ #
477
+ # {
478
+ # container_name: "ContainerName", # required
479
+ # }
480
+ #
481
+ # @!attribute [rw] container_name
482
+ # The name of the container that is associated with the metric policy.
483
+ # @return [String]
484
+ #
485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/GetMetricPolicyInput AWS API Documentation
486
+ #
487
+ class GetMetricPolicyInput < Struct.new(
488
+ :container_name)
489
+ include Aws::Structure
490
+ end
491
+
492
+ # @!attribute [rw] metric_policy
493
+ # The metric policy that is associated with the specific container.
494
+ # @return [Types::MetricPolicy]
495
+ #
496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/GetMetricPolicyOutput AWS API Documentation
497
+ #
498
+ class GetMetricPolicyOutput < Struct.new(
499
+ :metric_policy)
500
+ include Aws::Structure
501
+ end
502
+
451
503
  # The service is temporarily unavailable.
452
504
  #
453
505
  # @!attribute [rw] message
@@ -548,6 +600,92 @@ module Aws::MediaStore
548
600
  include Aws::Structure
549
601
  end
550
602
 
603
+ # The metric policy that is associated with the container. A metric
604
+ # policy allows AWS Elemental MediaStore to send metrics to Amazon
605
+ # CloudWatch. In the policy, you must indicate whether you want
606
+ # MediaStore to send container-level metrics. You can also include rules
607
+ # to define groups of objects that you want MediaStore to send
608
+ # object-level metrics for.
609
+ #
610
+ # To view examples of how to construct a metric policy for your use
611
+ # case, see [Example Metric Policies][1].
612
+ #
613
+ #
614
+ #
615
+ # [1]: https://docs.aws.amazon.com/mediastore/latest/ug/policies-metric-examples.html
616
+ #
617
+ # @note When making an API call, you may pass MetricPolicy
618
+ # data as a hash:
619
+ #
620
+ # {
621
+ # container_level_metrics: "ENABLED", # required, accepts ENABLED, DISABLED
622
+ # metric_policy_rules: [
623
+ # {
624
+ # object_group: "ObjectGroup", # required
625
+ # object_group_name: "ObjectGroupName", # required
626
+ # },
627
+ # ],
628
+ # }
629
+ #
630
+ # @!attribute [rw] container_level_metrics
631
+ # A setting to enable or disable metrics at the container level.
632
+ # @return [String]
633
+ #
634
+ # @!attribute [rw] metric_policy_rules
635
+ # A parameter that holds an array of rules that enable metrics at the
636
+ # object level. This parameter is optional, but if you choose to
637
+ # include it, you must also include at least one rule. By default, you
638
+ # can include up to five rules. You can also [request a quota
639
+ # increase][1] to allow up to 300 rules per policy.
640
+ #
641
+ #
642
+ #
643
+ # [1]: https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/mediastore/quotas
644
+ # @return [Array<Types::MetricPolicyRule>]
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/MetricPolicy AWS API Documentation
647
+ #
648
+ class MetricPolicy < Struct.new(
649
+ :container_level_metrics,
650
+ :metric_policy_rules)
651
+ include Aws::Structure
652
+ end
653
+
654
+ # A setting that enables metrics at the object level. Each rule contains
655
+ # an object group and an object group name. If the policy includes the
656
+ # MetricPolicyRules parameter, you must include at least one rule. Each
657
+ # metric policy can include up to five rules by default. You can also
658
+ # [request a quota increase][1] to allow up to 300 rules per policy.
659
+ #
660
+ #
661
+ #
662
+ # [1]: https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/mediastore/quotas
663
+ #
664
+ # @note When making an API call, you may pass MetricPolicyRule
665
+ # data as a hash:
666
+ #
667
+ # {
668
+ # object_group: "ObjectGroup", # required
669
+ # object_group_name: "ObjectGroupName", # required
670
+ # }
671
+ #
672
+ # @!attribute [rw] object_group
673
+ # A path or file name that defines which objects to include in the
674
+ # group. Wildcards (*) are acceptable.
675
+ # @return [String]
676
+ #
677
+ # @!attribute [rw] object_group_name
678
+ # A name that allows you to refer to the object group.
679
+ # @return [String]
680
+ #
681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/MetricPolicyRule AWS API Documentation
682
+ #
683
+ class MetricPolicyRule < Struct.new(
684
+ :object_group,
685
+ :object_group_name)
686
+ include Aws::Structure
687
+ end
688
+
551
689
  # The policy that you specified in the request does not exist.
552
690
  #
553
691
  # @!attribute [rw] message
@@ -659,6 +797,58 @@ module Aws::MediaStore
659
797
  #
660
798
  class PutLifecyclePolicyOutput < Aws::EmptyStructure; end
661
799
 
800
+ # @note When making an API call, you may pass PutMetricPolicyInput
801
+ # data as a hash:
802
+ #
803
+ # {
804
+ # container_name: "ContainerName", # required
805
+ # metric_policy: { # required
806
+ # container_level_metrics: "ENABLED", # required, accepts ENABLED, DISABLED
807
+ # metric_policy_rules: [
808
+ # {
809
+ # object_group: "ObjectGroup", # required
810
+ # object_group_name: "ObjectGroupName", # required
811
+ # },
812
+ # ],
813
+ # },
814
+ # }
815
+ #
816
+ # @!attribute [rw] container_name
817
+ # The name of the container that you want to add the metric policy to.
818
+ # @return [String]
819
+ #
820
+ # @!attribute [rw] metric_policy
821
+ # The metric policy that you want to associate with the container. In
822
+ # the policy, you must indicate whether you want MediaStore to send
823
+ # container-level metrics. You can also include up to five rules to
824
+ # define groups of objects that you want MediaStore to send
825
+ # object-level metrics for. If you include rules in the policy,
826
+ # construct each rule with both of the following:
827
+ #
828
+ # * An object group that defines which objects to include in the
829
+ # group. The definition can be a path or a file name, but it can't
830
+ # have more than 900 characters. Valid characters are: a-z, A-Z,
831
+ # 0-9, \_ (underscore), = (equal), : (colon), . (period), -
832
+ # (hyphen), ~ (tilde), / (forward slash), and * (asterisk).
833
+ # Wildcards (*) are acceptable.
834
+ #
835
+ # * An object group name that allows you to refer to the object group.
836
+ # The name can't have more than 30 characters. Valid characters
837
+ # are: a-z, A-Z, 0-9, and \_ (underscore).
838
+ # @return [Types::MetricPolicy]
839
+ #
840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/PutMetricPolicyInput AWS API Documentation
841
+ #
842
+ class PutMetricPolicyInput < Struct.new(
843
+ :container_name,
844
+ :metric_policy)
845
+ include Aws::Structure
846
+ end
847
+
848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01/PutMetricPolicyOutput AWS API Documentation
849
+ #
850
+ class PutMetricPolicyOutput < Aws::EmptyStructure; end
851
+
662
852
  # @note When making an API call, you may pass StartAccessLoggingInput
663
853
  # data as a hash:
664
854
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-mediastore
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0
4
+ version: 1.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-20 00:00:00.000000000 Z
11
+ date: 2020-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - MediaStore