aws-sdk-mediastore 1.21.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.

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