aws-sdk-s3outposts 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccf140684dec0bca001d20eb517a5afd9ba4b842f750d87b11d73433e8bd6036
4
- data.tar.gz: 3944fb738860f8db1e9ec9cf7dbf019e7ed2483891ba9a7dfe4474451960e270
3
+ metadata.gz: 69bb1853b592b855ee9cd0d0e246bbc83484ef3667708ca2c7ca7a196383f9a5
4
+ data.tar.gz: 205a7067c51fef4011299fb537fcd88b7c846ea91f19f0601f49336d270286c9
5
5
  SHA512:
6
- metadata.gz: a9c277e672fb6732a26bd7d405be14f098f90c515a57eca64b020a778b178b14db1deefffdc47b400b541261a2fbe4a411c671bc6bc7411cbfe02a1fb41b2d8b
7
- data.tar.gz: 01da89e1260cc1180a42f84f0c2f3a1961d174c9f04e72e14a1cf4f112fdd0574fdfc229f1f609450cda8edff7f19e660812a245d1e9e0e824b8bce95c61fcea
6
+ metadata.gz: 1f287afc9cceaa6d6ecffb85a49a70123dc3ac0118b50d86c4106b363919e37728f203c798c67ce1d0edb8181cbb536c6d8cc95ab66bb20bbc8f38db26055094
7
+ data.tar.gz: 8a14ed8c3e1c3f3b421bd2723715850d698d3984173b4180fb2df40bdcc381798a8564979c8691e0c31efca8dccdfd646add71fbb194874ca876dd7f76e3df77
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.17.0 (2023-03-20)
5
+ ------------------
6
+
7
+ * Feature - S3 On Outposts added support for endpoint status, and a failed endpoint reason, if any
8
+
9
+ 1.16.0 (2023-03-01)
10
+ ------------------
11
+
12
+ * Feature - S3 on Outposts introduces a new API ListOutpostsWithS3, with this API you can list all your Outposts with S3 capacity.
13
+
4
14
  1.15.0 (2023-01-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.15.0
1
+ 1.17.0
@@ -522,7 +522,7 @@ module Aws::S3Outposts
522
522
  # resp.endpoints[0].endpoint_arn #=> String
523
523
  # resp.endpoints[0].outposts_id #=> String
524
524
  # resp.endpoints[0].cidr_block #=> String
525
- # resp.endpoints[0].status #=> String, one of "Pending", "Available", "Deleting"
525
+ # resp.endpoints[0].status #=> String, one of "Pending", "Available", "Deleting", "Create_Failed", "Delete_Failed"
526
526
  # resp.endpoints[0].creation_time #=> Time
527
527
  # resp.endpoints[0].network_interfaces #=> Array
528
528
  # resp.endpoints[0].network_interfaces[0].network_interface_id #=> String
@@ -531,6 +531,8 @@ module Aws::S3Outposts
531
531
  # resp.endpoints[0].security_group_id #=> String
532
532
  # resp.endpoints[0].access_type #=> String, one of "Private", "CustomerOwnedIp"
533
533
  # resp.endpoints[0].customer_owned_ipv_4_pool #=> String
534
+ # resp.endpoints[0].failed_reason.error_code #=> String
535
+ # resp.endpoints[0].failed_reason.message #=> String
534
536
  # resp.next_token #=> String
535
537
  #
536
538
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ListEndpoints AWS API Documentation
@@ -542,6 +544,52 @@ module Aws::S3Outposts
542
544
  req.send_request(options)
543
545
  end
544
546
 
547
+ # Lists the Outposts with S3 on Outposts capacity for your Amazon Web
548
+ # Services account. Includes S3 on Outposts that you have access to as
549
+ # the Outposts owner, or as a shared user from Resource Access Manager
550
+ # (RAM).
551
+ #
552
+ # @option params [String] :next_token
553
+ # When you can get additional results from the `ListOutpostsWithS3`
554
+ # call, a `NextToken` parameter is returned in the output. You can then
555
+ # pass in a subsequent command to the `NextToken` parameter to continue
556
+ # listing additional Outposts.
557
+ #
558
+ # @option params [Integer] :max_results
559
+ # The maximum number of Outposts to return. The limit is 100.
560
+ #
561
+ # @return [Types::ListOutpostsWithS3Result] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
562
+ #
563
+ # * {Types::ListOutpostsWithS3Result#outposts #outposts} => Array<Types::Outpost>
564
+ # * {Types::ListOutpostsWithS3Result#next_token #next_token} => String
565
+ #
566
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
567
+ #
568
+ # @example Request syntax with placeholder values
569
+ #
570
+ # resp = client.list_outposts_with_s3({
571
+ # next_token: "NextToken",
572
+ # max_results: 1,
573
+ # })
574
+ #
575
+ # @example Response structure
576
+ #
577
+ # resp.outposts #=> Array
578
+ # resp.outposts[0].outpost_arn #=> String
579
+ # resp.outposts[0].outpost_id #=> String
580
+ # resp.outposts[0].owner_id #=> String
581
+ # resp.outposts[0].capacity_in_bytes #=> Integer
582
+ # resp.next_token #=> String
583
+ #
584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ListOutpostsWithS3 AWS API Documentation
585
+ #
586
+ # @overload list_outposts_with_s3(params = {})
587
+ # @param [Hash] params ({})
588
+ def list_outposts_with_s3(params = {}, options = {})
589
+ req = build_request(:list_outposts_with_s3, params)
590
+ req.send_request(options)
591
+ end
592
+
545
593
  # Lists all endpoints associated with an Outpost that has been shared by
546
594
  # Amazon Web Services Resource Access Manager (RAM).
547
595
  #
@@ -588,7 +636,7 @@ module Aws::S3Outposts
588
636
  # resp.endpoints[0].endpoint_arn #=> String
589
637
  # resp.endpoints[0].outposts_id #=> String
590
638
  # resp.endpoints[0].cidr_block #=> String
591
- # resp.endpoints[0].status #=> String, one of "Pending", "Available", "Deleting"
639
+ # resp.endpoints[0].status #=> String, one of "Pending", "Available", "Deleting", "Create_Failed", "Delete_Failed"
592
640
  # resp.endpoints[0].creation_time #=> Time
593
641
  # resp.endpoints[0].network_interfaces #=> Array
594
642
  # resp.endpoints[0].network_interfaces[0].network_interface_id #=> String
@@ -597,6 +645,8 @@ module Aws::S3Outposts
597
645
  # resp.endpoints[0].security_group_id #=> String
598
646
  # resp.endpoints[0].access_type #=> String, one of "Private", "CustomerOwnedIp"
599
647
  # resp.endpoints[0].customer_owned_ipv_4_pool #=> String
648
+ # resp.endpoints[0].failed_reason.error_code #=> String
649
+ # resp.endpoints[0].failed_reason.message #=> String
600
650
  # resp.next_token #=> String
601
651
  #
602
652
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ListSharedEndpoints AWS API Documentation
@@ -621,7 +671,7 @@ module Aws::S3Outposts
621
671
  params: params,
622
672
  config: config)
623
673
  context[:gem_name] = 'aws-sdk-s3outposts'
624
- context[:gem_version] = '1.15.0'
674
+ context[:gem_version] = '1.17.0'
625
675
  Seahorse::Client::Request.new(handlers, context)
626
676
  end
627
677
 
@@ -14,6 +14,8 @@ module Aws::S3Outposts
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
18
+ CapacityInBytes = Shapes::IntegerShape.new(name: 'CapacityInBytes')
17
19
  CidrBlock = Shapes::StringShape.new(name: 'CidrBlock')
18
20
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
19
21
  CreateEndpointRequest = Shapes::StructureShape.new(name: 'CreateEndpointRequest')
@@ -27,21 +29,31 @@ module Aws::S3Outposts
27
29
  EndpointId = Shapes::StringShape.new(name: 'EndpointId')
28
30
  EndpointStatus = Shapes::StringShape.new(name: 'EndpointStatus')
29
31
  Endpoints = Shapes::ListShape.new(name: 'Endpoints')
32
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
30
33
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
34
+ FailedReason = Shapes::StructureShape.new(name: 'FailedReason')
31
35
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
32
36
  ListEndpointsRequest = Shapes::StructureShape.new(name: 'ListEndpointsRequest')
33
37
  ListEndpointsResult = Shapes::StructureShape.new(name: 'ListEndpointsResult')
38
+ ListOutpostsWithS3Request = Shapes::StructureShape.new(name: 'ListOutpostsWithS3Request')
39
+ ListOutpostsWithS3Result = Shapes::StructureShape.new(name: 'ListOutpostsWithS3Result')
34
40
  ListSharedEndpointsRequest = Shapes::StructureShape.new(name: 'ListSharedEndpointsRequest')
35
41
  ListSharedEndpointsResult = Shapes::StructureShape.new(name: 'ListSharedEndpointsResult')
36
42
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
43
+ Message = Shapes::StringShape.new(name: 'Message')
37
44
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
38
45
  NetworkInterfaceId = Shapes::StringShape.new(name: 'NetworkInterfaceId')
39
46
  NetworkInterfaces = Shapes::ListShape.new(name: 'NetworkInterfaces')
40
47
  NextToken = Shapes::StringShape.new(name: 'NextToken')
48
+ Outpost = Shapes::StructureShape.new(name: 'Outpost')
49
+ OutpostArn = Shapes::StringShape.new(name: 'OutpostArn')
41
50
  OutpostId = Shapes::StringShape.new(name: 'OutpostId')
51
+ OutpostOfflineException = Shapes::StructureShape.new(name: 'OutpostOfflineException')
52
+ Outposts = Shapes::ListShape.new(name: 'Outposts')
42
53
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
43
54
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
44
55
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
56
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
45
57
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
46
58
  VpcId = Shapes::StringShape.new(name: 'VpcId')
47
59
 
@@ -76,10 +88,15 @@ module Aws::S3Outposts
76
88
  Endpoint.add_member(:security_group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "SecurityGroupId"))
77
89
  Endpoint.add_member(:access_type, Shapes::ShapeRef.new(shape: EndpointAccessType, location_name: "AccessType"))
78
90
  Endpoint.add_member(:customer_owned_ipv_4_pool, Shapes::ShapeRef.new(shape: CustomerOwnedIpv4Pool, location_name: "CustomerOwnedIpv4Pool"))
91
+ Endpoint.add_member(:failed_reason, Shapes::ShapeRef.new(shape: FailedReason, location_name: "FailedReason"))
79
92
  Endpoint.struct_class = Types::Endpoint
80
93
 
81
94
  Endpoints.member = Shapes::ShapeRef.new(shape: Endpoint)
82
95
 
96
+ FailedReason.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
97
+ FailedReason.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
98
+ FailedReason.struct_class = Types::FailedReason
99
+
83
100
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
84
101
  InternalServerException.struct_class = Types::InternalServerException
85
102
 
@@ -91,6 +108,14 @@ module Aws::S3Outposts
91
108
  ListEndpointsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
92
109
  ListEndpointsResult.struct_class = Types::ListEndpointsResult
93
110
 
111
+ ListOutpostsWithS3Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
112
+ ListOutpostsWithS3Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
113
+ ListOutpostsWithS3Request.struct_class = Types::ListOutpostsWithS3Request
114
+
115
+ ListOutpostsWithS3Result.add_member(:outposts, Shapes::ShapeRef.new(shape: Outposts, location_name: "Outposts"))
116
+ ListOutpostsWithS3Result.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
117
+ ListOutpostsWithS3Result.struct_class = Types::ListOutpostsWithS3Result
118
+
94
119
  ListSharedEndpointsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
95
120
  ListSharedEndpointsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
96
121
  ListSharedEndpointsRequest.add_member(:outpost_id, Shapes::ShapeRef.new(shape: OutpostId, required: true, location: "querystring", location_name: "outpostId"))
@@ -105,9 +130,23 @@ module Aws::S3Outposts
105
130
 
106
131
  NetworkInterfaces.member = Shapes::ShapeRef.new(shape: NetworkInterface)
107
132
 
133
+ Outpost.add_member(:outpost_arn, Shapes::ShapeRef.new(shape: OutpostArn, location_name: "OutpostArn"))
134
+ Outpost.add_member(:outpost_id, Shapes::ShapeRef.new(shape: OutpostId, location_name: "OutpostId"))
135
+ Outpost.add_member(:owner_id, Shapes::ShapeRef.new(shape: AwsAccountId, location_name: "OwnerId"))
136
+ Outpost.add_member(:capacity_in_bytes, Shapes::ShapeRef.new(shape: CapacityInBytes, location_name: "CapacityInBytes"))
137
+ Outpost.struct_class = Types::Outpost
138
+
139
+ OutpostOfflineException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
140
+ OutpostOfflineException.struct_class = Types::OutpostOfflineException
141
+
142
+ Outposts.member = Shapes::ShapeRef.new(shape: Outpost)
143
+
108
144
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
109
145
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
110
146
 
147
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
148
+ ThrottlingException.struct_class = Types::ThrottlingException
149
+
111
150
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
112
151
  ValidationException.struct_class = Types::ValidationException
113
152
 
@@ -141,6 +180,8 @@ module Aws::S3Outposts
141
180
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
142
181
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
143
182
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
183
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
184
+ o.errors << Shapes::ShapeRef.new(shape: OutpostOfflineException)
144
185
  end)
145
186
 
146
187
  api.add_operation(:delete_endpoint, Seahorse::Model::Operation.new.tap do |o|
@@ -153,6 +194,8 @@ module Aws::S3Outposts
153
194
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
154
195
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
155
196
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
197
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
198
+ o.errors << Shapes::ShapeRef.new(shape: OutpostOfflineException)
156
199
  end)
157
200
 
158
201
  api.add_operation(:list_endpoints, Seahorse::Model::Operation.new.tap do |o|
@@ -165,6 +208,25 @@ module Aws::S3Outposts
165
208
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
166
209
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
167
210
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
211
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
212
+ o[:pager] = Aws::Pager.new(
213
+ limit_key: "max_results",
214
+ tokens: {
215
+ "next_token" => "next_token"
216
+ }
217
+ )
218
+ end)
219
+
220
+ api.add_operation(:list_outposts_with_s3, Seahorse::Model::Operation.new.tap do |o|
221
+ o.name = "ListOutpostsWithS3"
222
+ o.http_method = "GET"
223
+ o.http_request_uri = "/S3Outposts/ListOutpostsWithS3"
224
+ o.input = Shapes::ShapeRef.new(shape: ListOutpostsWithS3Request)
225
+ o.output = Shapes::ShapeRef.new(shape: ListOutpostsWithS3Result)
226
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
227
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
228
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
229
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
168
230
  o[:pager] = Aws::Pager.new(
169
231
  limit_key: "max_results",
170
232
  tokens: {
@@ -183,6 +245,7 @@ module Aws::S3Outposts
183
245
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
184
246
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
185
247
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
248
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
186
249
  o[:pager] = Aws::Pager.new(
187
250
  limit_key: "max_results",
188
251
  tokens: {
@@ -14,36 +14,39 @@ module Aws::S3Outposts
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://s3-outposts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -53,6 +53,20 @@ module Aws::S3Outposts
53
53
  end
54
54
  end
55
55
 
56
+ class ListOutpostsWithS3
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::S3Outposts::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
56
70
  class ListSharedEndpoints
57
71
  def self.build(context)
58
72
  unless context.config.regional_endpoint
@@ -30,7 +30,9 @@ module Aws::S3Outposts
30
30
  # * {AccessDeniedException}
31
31
  # * {ConflictException}
32
32
  # * {InternalServerException}
33
+ # * {OutpostOfflineException}
33
34
  # * {ResourceNotFoundException}
35
+ # * {ThrottlingException}
34
36
  # * {ValidationException}
35
37
  #
36
38
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -84,6 +86,21 @@ module Aws::S3Outposts
84
86
  end
85
87
  end
86
88
 
89
+ class OutpostOfflineException < ServiceError
90
+
91
+ # @param [Seahorse::Client::RequestContext] context
92
+ # @param [String] message
93
+ # @param [Aws::S3Outposts::Types::OutpostOfflineException] data
94
+ def initialize(context, message, data = Aws::EmptyStructure.new)
95
+ super(context, message, data)
96
+ end
97
+
98
+ # @return [String]
99
+ def message
100
+ @message || @data[:message]
101
+ end
102
+ end
103
+
87
104
  class ResourceNotFoundException < ServiceError
88
105
 
89
106
  # @param [Seahorse::Client::RequestContext] context
@@ -99,6 +116,21 @@ module Aws::S3Outposts
99
116
  end
100
117
  end
101
118
 
119
+ class ThrottlingException < ServiceError
120
+
121
+ # @param [Seahorse::Client::RequestContext] context
122
+ # @param [String] message
123
+ # @param [Aws::S3Outposts::Types::ThrottlingException] data
124
+ def initialize(context, message, data = Aws::EmptyStructure.new)
125
+ super(context, message, data)
126
+ end
127
+
128
+ # @return [String]
129
+ def message
130
+ @message || @data[:message]
131
+ end
132
+ end
133
+
102
134
  class ValidationException < ServiceError
103
135
 
104
136
  # @param [Seahorse::Client::RequestContext] context
@@ -62,6 +62,8 @@ module Aws::S3Outposts
62
62
  Aws::S3Outposts::Endpoints::DeleteEndpoint.build(context)
63
63
  when :list_endpoints
64
64
  Aws::S3Outposts::Endpoints::ListEndpoints.build(context)
65
+ when :list_outposts_with_s3
66
+ Aws::S3Outposts::Endpoints::ListOutpostsWithS3.build(context)
65
67
  when :list_shared_endpoints
66
68
  Aws::S3Outposts::Endpoints::ListSharedEndpoints.build(context)
67
69
  end
@@ -165,6 +165,11 @@ module Aws::S3Outposts
165
165
  # endpoint.
166
166
  # @return [String]
167
167
  #
168
+ # @!attribute [rw] failed_reason
169
+ # The failure reason, if any, for a create or delete endpoint
170
+ # operation.
171
+ # @return [Types::FailedReason]
172
+ #
168
173
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/Endpoint AWS API Documentation
169
174
  #
170
175
  class Endpoint < Struct.new(
@@ -178,7 +183,28 @@ module Aws::S3Outposts
178
183
  :subnet_id,
179
184
  :security_group_id,
180
185
  :access_type,
181
- :customer_owned_ipv_4_pool)
186
+ :customer_owned_ipv_4_pool,
187
+ :failed_reason)
188
+ SENSITIVE = []
189
+ include Aws::Structure
190
+ end
191
+
192
+ # The failure reason, if any, for a create or delete endpoint operation.
193
+ #
194
+ # @!attribute [rw] error_code
195
+ # The failure code, if any, for a create or delete endpoint operation.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] message
199
+ # Additional error details describing the endpoint failure and
200
+ # recommended action.
201
+ # @return [String]
202
+ #
203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/FailedReason AWS API Documentation
204
+ #
205
+ class FailedReason < Struct.new(
206
+ :error_code,
207
+ :message)
182
208
  SENSITIVE = []
183
209
  include Aws::Structure
184
210
  end
@@ -234,6 +260,53 @@ module Aws::S3Outposts
234
260
  include Aws::Structure
235
261
  end
236
262
 
263
+ # @!attribute [rw] next_token
264
+ # When you can get additional results from the `ListOutpostsWithS3`
265
+ # call, a `NextToken` parameter is returned in the output. You can
266
+ # then pass in a subsequent command to the `NextToken` parameter to
267
+ # continue listing additional Outposts.
268
+ # @return [String]
269
+ #
270
+ # @!attribute [rw] max_results
271
+ # The maximum number of Outposts to return. The limit is 100.
272
+ # @return [Integer]
273
+ #
274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ListOutpostsWithS3Request AWS API Documentation
275
+ #
276
+ class ListOutpostsWithS3Request < Struct.new(
277
+ :next_token,
278
+ :max_results)
279
+ SENSITIVE = []
280
+ include Aws::Structure
281
+ end
282
+
283
+ # @!attribute [rw] outposts
284
+ # Returns the list of Outposts that have the following
285
+ # characteristics:
286
+ #
287
+ # * outposts that have S3 provisioned
288
+ #
289
+ # * outposts that are `Active` (not pending any provisioning nor
290
+ # decommissioned)
291
+ #
292
+ # * outposts to which the the calling Amazon Web Services account has
293
+ # access
294
+ # @return [Array<Types::Outpost>]
295
+ #
296
+ # @!attribute [rw] next_token
297
+ # Returns a token that you can use to call `ListOutpostsWithS3` again
298
+ # and receive additional results, if there are any.
299
+ # @return [String]
300
+ #
301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ListOutpostsWithS3Result AWS API Documentation
302
+ #
303
+ class ListOutpostsWithS3Result < Struct.new(
304
+ :outposts,
305
+ :next_token)
306
+ SENSITIVE = []
307
+ include Aws::Structure
308
+ end
309
+
237
310
  # @!attribute [rw] next_token
238
311
  # If a previous response from this operation included a `NextToken`
239
312
  # value, you can provide that value here to retrieve the next page of
@@ -294,6 +367,50 @@ module Aws::S3Outposts
294
367
  include Aws::Structure
295
368
  end
296
369
 
370
+ # Contains the details for the Outpost object.
371
+ #
372
+ # @!attribute [rw] outpost_arn
373
+ # Specifies the unique Amazon Resource Name (ARN) for the outpost.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] outpost_id
377
+ # Specifies the unique identifier for the outpost.
378
+ # @return [String]
379
+ #
380
+ # @!attribute [rw] owner_id
381
+ # Returns the Amazon Web Services account ID of the outpost owner.
382
+ # Useful for comparing owned versus shared outposts.
383
+ # @return [String]
384
+ #
385
+ # @!attribute [rw] capacity_in_bytes
386
+ # The Amazon S3 capacity of the outpost in bytes.
387
+ # @return [Integer]
388
+ #
389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/Outpost AWS API Documentation
390
+ #
391
+ class Outpost < Struct.new(
392
+ :outpost_arn,
393
+ :outpost_id,
394
+ :owner_id,
395
+ :capacity_in_bytes)
396
+ SENSITIVE = []
397
+ include Aws::Structure
398
+ end
399
+
400
+ # The service link connection to your Outposts home Region is down.
401
+ # Check your connection and try again.
402
+ #
403
+ # @!attribute [rw] message
404
+ # @return [String]
405
+ #
406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/OutpostOfflineException AWS API Documentation
407
+ #
408
+ class OutpostOfflineException < Struct.new(
409
+ :message)
410
+ SENSITIVE = []
411
+ include Aws::Structure
412
+ end
413
+
297
414
  # The requested resource was not found.
298
415
  #
299
416
  # @!attribute [rw] message
@@ -307,6 +424,19 @@ module Aws::S3Outposts
307
424
  include Aws::Structure
308
425
  end
309
426
 
427
+ # The request was denied due to request throttling.
428
+ #
429
+ # @!attribute [rw] message
430
+ # @return [String]
431
+ #
432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3outposts-2017-07-25/ThrottlingException AWS API Documentation
433
+ #
434
+ class ThrottlingException < Struct.new(
435
+ :message)
436
+ SENSITIVE = []
437
+ include Aws::Structure
438
+ end
439
+
310
440
  # There was an exception validating this data.
311
441
  #
312
442
  # @!attribute [rw] message
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-s3outposts/customizations'
52
52
  # @!group service
53
53
  module Aws::S3Outposts
54
54
 
55
- GEM_VERSION = '1.15.0'
55
+ GEM_VERSION = '1.17.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3outposts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.17.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: 2023-01-18 00:00:00.000000000 Z
11
+ date: 2023-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core