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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3outposts/client.rb +53 -3
- data/lib/aws-sdk-s3outposts/client_api.rb +63 -0
- data/lib/aws-sdk-s3outposts/endpoint_provider.rb +27 -24
- data/lib/aws-sdk-s3outposts/endpoints.rb +14 -0
- data/lib/aws-sdk-s3outposts/errors.rb +32 -0
- data/lib/aws-sdk-s3outposts/plugins/endpoints.rb +2 -0
- data/lib/aws-sdk-s3outposts/types.rb +131 -1
- data/lib/aws-sdk-s3outposts.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69bb1853b592b855ee9cd0d0e246bbc83484ef3667708ca2c7ca7a196383f9a5
|
4
|
+
data.tar.gz: 205a7067c51fef4011299fb537fcd88b7c846ea91f19f0601f49336d270286c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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
|
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
|
-
|
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
|
-
|
41
|
-
|
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
|
-
|
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
|
data/lib/aws-sdk-s3outposts.rb
CHANGED
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.
|
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-
|
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
|