aws-sdk-sns 1.52.0 → 1.55.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-sns/client.rb +88 -1
- data/lib/aws-sdk-sns/client_api.rb +42 -0
- data/lib/aws-sdk-sns/message_verifier.rb +21 -4
- data/lib/aws-sdk-sns/resource.rb +9 -0
- data/lib/aws-sdk-sns/types.rb +88 -1
- data/lib/aws-sdk-sns.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c71df1b2aa3b87d7830d1f1f0da8d3f0e77cd4a47bfefcbd0103b5b6345a0e0
|
4
|
+
data.tar.gz: 94e9f8682965568bb34b3390edbda1e837169b7f8b7c71cc0ee5dc21697b734c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1748ac289a9df669017f6a77869f5cf04b5c5e91f4576d6519d0c24e5628b2be2e22f526df0f1337930a88e0ea783878bfaa5ed2a7f9ad07eaa8890a59617a12
|
7
|
+
data.tar.gz: '0994ffbc6518f135eeed5877540a3d30ddc42c9d4aef3f155780c22b3cecab8da234890882859f54624969aaab12d8aa84c63cddbee5158b71520f4eaf277d0e'
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.55.0 (2022-09-07)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Amazon SNS introduces the Data Protection Policy APIs, which enable customers to attach a data protection policy to an SNS topic. This allows topic owners to enable the new message data protection feature to audit and block sensitive data that is exchanged through their topics.
|
8
|
+
|
9
|
+
1.54.0 (2022-08-22)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Adding SHA256 message verification
|
13
|
+
|
14
|
+
1.53.0 (2022-02-24)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
18
|
+
|
4
19
|
1.52.0 (2022-02-10)
|
5
20
|
------------------
|
6
21
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.55.0
|
data/lib/aws-sdk-sns/client.rb
CHANGED
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
|
|
27
27
|
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
|
28
28
|
require 'aws-sdk-core/plugins/transfer_encoding.rb'
|
29
29
|
require 'aws-sdk-core/plugins/http_checksum.rb'
|
30
|
+
require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
30
31
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
31
32
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
32
33
|
require 'aws-sdk-core/plugins/signature_v4.rb'
|
@@ -75,6 +76,7 @@ module Aws::SNS
|
|
75
76
|
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
|
76
77
|
add_plugin(Aws::Plugins::TransferEncoding)
|
77
78
|
add_plugin(Aws::Plugins::HttpChecksum)
|
79
|
+
add_plugin(Aws::Plugins::ChecksumAlgorithm)
|
78
80
|
add_plugin(Aws::Plugins::DefaultsMode)
|
79
81
|
add_plugin(Aws::Plugins::RecursionDetection)
|
80
82
|
add_plugin(Aws::Plugins::SignatureV4)
|
@@ -746,6 +748,15 @@ module Aws::SNS
|
|
746
748
|
#
|
747
749
|
# </note>
|
748
750
|
#
|
751
|
+
# @option params [String] :data_protection_policy
|
752
|
+
# The body of the policy document you want to use for this topic.
|
753
|
+
#
|
754
|
+
# You can only add one policy per topic.
|
755
|
+
#
|
756
|
+
# The policy must be in JSON string format.
|
757
|
+
#
|
758
|
+
# Length Constraints: Maximum length of 30,720.
|
759
|
+
#
|
749
760
|
# @return [Types::CreateTopicResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
750
761
|
#
|
751
762
|
# * {Types::CreateTopicResponse#topic_arn #topic_arn} => String
|
@@ -763,6 +774,7 @@ module Aws::SNS
|
|
763
774
|
# value: "TagValue", # required
|
764
775
|
# },
|
765
776
|
# ],
|
777
|
+
# data_protection_policy: "attributeValue",
|
766
778
|
# })
|
767
779
|
#
|
768
780
|
# @example Response structure
|
@@ -900,6 +912,42 @@ module Aws::SNS
|
|
900
912
|
req.send_request(options)
|
901
913
|
end
|
902
914
|
|
915
|
+
# Retrieves the specified inline `DataProtectionPolicy` document that is
|
916
|
+
# stored in the specified Amazon SNS topic.
|
917
|
+
#
|
918
|
+
# @option params [required, String] :resource_arn
|
919
|
+
# The ARN of the topic whose `DataProtectionPolicy` you want to get.
|
920
|
+
#
|
921
|
+
# For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
|
922
|
+
# in the Amazon Web Services General Reference.
|
923
|
+
#
|
924
|
+
#
|
925
|
+
#
|
926
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
927
|
+
#
|
928
|
+
# @return [Types::GetDataProtectionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
929
|
+
#
|
930
|
+
# * {Types::GetDataProtectionPolicyResponse#data_protection_policy #data_protection_policy} => String
|
931
|
+
#
|
932
|
+
# @example Request syntax with placeholder values
|
933
|
+
#
|
934
|
+
# resp = client.get_data_protection_policy({
|
935
|
+
# resource_arn: "topicARN", # required
|
936
|
+
# })
|
937
|
+
#
|
938
|
+
# @example Response structure
|
939
|
+
#
|
940
|
+
# resp.data_protection_policy #=> String
|
941
|
+
#
|
942
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicy AWS API Documentation
|
943
|
+
#
|
944
|
+
# @overload get_data_protection_policy(params = {})
|
945
|
+
# @param [Hash] params ({})
|
946
|
+
def get_data_protection_policy(params = {}, options = {})
|
947
|
+
req = build_request(:get_data_protection_policy, params)
|
948
|
+
req.send_request(options)
|
949
|
+
end
|
950
|
+
|
903
951
|
# Retrieves the endpoint attributes for a device on one of the supported
|
904
952
|
# push notification services, such as GCM (Firebase Cloud Messaging) and
|
905
953
|
# APNS. For more information, see [Using Amazon SNS Mobile Push
|
@@ -1834,6 +1882,45 @@ module Aws::SNS
|
|
1834
1882
|
req.send_request(options)
|
1835
1883
|
end
|
1836
1884
|
|
1885
|
+
# Adds or updates an inline policy document that is stored in the
|
1886
|
+
# specified Amazon SNS topic.
|
1887
|
+
#
|
1888
|
+
# @option params [required, String] :resource_arn
|
1889
|
+
# The ARN of the topic whose `DataProtectionPolicy` you want to add or
|
1890
|
+
# update.
|
1891
|
+
#
|
1892
|
+
# For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
|
1893
|
+
# in the Amazon Web Services General Reference.
|
1894
|
+
#
|
1895
|
+
#
|
1896
|
+
#
|
1897
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
1898
|
+
#
|
1899
|
+
# @option params [required, String] :data_protection_policy
|
1900
|
+
# The JSON serialization of the topic's `DataProtectionPolicy`.
|
1901
|
+
#
|
1902
|
+
# The `DataProtectionPolicy` must be in JSON string format.
|
1903
|
+
#
|
1904
|
+
# Length Constraints: Maximum length of 30,720.
|
1905
|
+
#
|
1906
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1907
|
+
#
|
1908
|
+
# @example Request syntax with placeholder values
|
1909
|
+
#
|
1910
|
+
# resp = client.put_data_protection_policy({
|
1911
|
+
# resource_arn: "topicARN", # required
|
1912
|
+
# data_protection_policy: "attributeValue", # required
|
1913
|
+
# })
|
1914
|
+
#
|
1915
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PutDataProtectionPolicy AWS API Documentation
|
1916
|
+
#
|
1917
|
+
# @overload put_data_protection_policy(params = {})
|
1918
|
+
# @param [Hash] params ({})
|
1919
|
+
def put_data_protection_policy(params = {}, options = {})
|
1920
|
+
req = build_request(:put_data_protection_policy, params)
|
1921
|
+
req.send_request(options)
|
1922
|
+
end
|
1923
|
+
|
1837
1924
|
# Removes a statement from a topic's access control policy.
|
1838
1925
|
#
|
1839
1926
|
# @option params [required, String] :topic_arn
|
@@ -2604,7 +2691,7 @@ module Aws::SNS
|
|
2604
2691
|
params: params,
|
2605
2692
|
config: config)
|
2606
2693
|
context[:gem_name] = 'aws-sdk-sns'
|
2607
|
-
context[:gem_version] = '1.
|
2694
|
+
context[:gem_version] = '1.55.0'
|
2608
2695
|
Seahorse::Client::Request.new(handlers, context)
|
2609
2696
|
end
|
2610
2697
|
|
@@ -45,6 +45,8 @@ module Aws::SNS
|
|
45
45
|
Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
|
46
46
|
EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException')
|
47
47
|
FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException')
|
48
|
+
GetDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyInput')
|
49
|
+
GetDataProtectionPolicyResponse = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyResponse')
|
48
50
|
GetEndpointAttributesInput = Shapes::StructureShape.new(name: 'GetEndpointAttributesInput')
|
49
51
|
GetEndpointAttributesResponse = Shapes::StructureShape.new(name: 'GetEndpointAttributesResponse')
|
50
52
|
GetPlatformApplicationAttributesInput = Shapes::StructureShape.new(name: 'GetPlatformApplicationAttributesInput')
|
@@ -118,6 +120,7 @@ module Aws::SNS
|
|
118
120
|
PublishBatchResultEntryList = Shapes::ListShape.new(name: 'PublishBatchResultEntryList')
|
119
121
|
PublishInput = Shapes::StructureShape.new(name: 'PublishInput')
|
120
122
|
PublishResponse = Shapes::StructureShape.new(name: 'PublishResponse')
|
123
|
+
PutDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'PutDataProtectionPolicyInput')
|
121
124
|
RemovePermissionInput = Shapes::StructureShape.new(name: 'RemovePermissionInput')
|
122
125
|
ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
|
123
126
|
RouteType = Shapes::StringShape.new(name: 'RouteType')
|
@@ -251,6 +254,7 @@ module Aws::SNS
|
|
251
254
|
CreateTopicInput.add_member(:name, Shapes::ShapeRef.new(shape: topicName, required: true, location_name: "Name"))
|
252
255
|
CreateTopicInput.add_member(:attributes, Shapes::ShapeRef.new(shape: TopicAttributesMap, location_name: "Attributes"))
|
253
256
|
CreateTopicInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
257
|
+
CreateTopicInput.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, location_name: "DataProtectionPolicy"))
|
254
258
|
CreateTopicInput.struct_class = Types::CreateTopicInput
|
255
259
|
|
256
260
|
CreateTopicResponse.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
|
@@ -285,6 +289,12 @@ module Aws::SNS
|
|
285
289
|
FilterPolicyLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
|
286
290
|
FilterPolicyLimitExceededException.struct_class = Types::FilterPolicyLimitExceededException
|
287
291
|
|
292
|
+
GetDataProtectionPolicyInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "ResourceArn"))
|
293
|
+
GetDataProtectionPolicyInput.struct_class = Types::GetDataProtectionPolicyInput
|
294
|
+
|
295
|
+
GetDataProtectionPolicyResponse.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, location_name: "DataProtectionPolicy"))
|
296
|
+
GetDataProtectionPolicyResponse.struct_class = Types::GetDataProtectionPolicyResponse
|
297
|
+
|
288
298
|
GetEndpointAttributesInput.add_member(:endpoint_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "EndpointArn"))
|
289
299
|
GetEndpointAttributesInput.struct_class = Types::GetEndpointAttributesInput
|
290
300
|
|
@@ -509,6 +519,10 @@ module Aws::SNS
|
|
509
519
|
PublishResponse.add_member(:sequence_number, Shapes::ShapeRef.new(shape: String, location_name: "SequenceNumber"))
|
510
520
|
PublishResponse.struct_class = Types::PublishResponse
|
511
521
|
|
522
|
+
PutDataProtectionPolicyInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "ResourceArn"))
|
523
|
+
PutDataProtectionPolicyInput.add_member(:data_protection_policy, Shapes::ShapeRef.new(shape: attributeValue, required: true, location_name: "DataProtectionPolicy"))
|
524
|
+
PutDataProtectionPolicyInput.struct_class = Types::PutDataProtectionPolicyInput
|
525
|
+
|
512
526
|
RemovePermissionInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
|
513
527
|
RemovePermissionInput.add_member(:label, Shapes::ShapeRef.new(shape: label, required: true, location_name: "Label"))
|
514
528
|
RemovePermissionInput.struct_class = Types::RemovePermissionInput
|
@@ -796,6 +810,19 @@ module Aws::SNS
|
|
796
810
|
o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
|
797
811
|
end)
|
798
812
|
|
813
|
+
api.add_operation(:get_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
|
814
|
+
o.name = "GetDataProtectionPolicy"
|
815
|
+
o.http_method = "POST"
|
816
|
+
o.http_request_uri = "/"
|
817
|
+
o.input = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyInput)
|
818
|
+
o.output = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyResponse)
|
819
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
|
820
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
|
821
|
+
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
822
|
+
o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
|
823
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
|
824
|
+
end)
|
825
|
+
|
799
826
|
api.add_operation(:get_endpoint_attributes, Seahorse::Model::Operation.new.tap do |o|
|
800
827
|
o.name = "GetEndpointAttributes"
|
801
828
|
o.http_method = "POST"
|
@@ -1050,6 +1077,7 @@ module Aws::SNS
|
|
1050
1077
|
o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
|
1051
1078
|
o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
|
1052
1079
|
o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
|
1080
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
1053
1081
|
end)
|
1054
1082
|
|
1055
1083
|
api.add_operation(:publish_batch, Seahorse::Model::Operation.new.tap do |o|
|
@@ -1077,6 +1105,20 @@ module Aws::SNS
|
|
1077
1105
|
o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
|
1078
1106
|
o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
|
1079
1107
|
o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
|
1108
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
1109
|
+
end)
|
1110
|
+
|
1111
|
+
api.add_operation(:put_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
|
1112
|
+
o.name = "PutDataProtectionPolicy"
|
1113
|
+
o.http_method = "POST"
|
1114
|
+
o.http_request_uri = "/"
|
1115
|
+
o.input = Shapes::ShapeRef.new(shape: PutDataProtectionPolicyInput)
|
1116
|
+
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
1117
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
|
1118
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
|
1119
|
+
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1120
|
+
o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
|
1121
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
|
1080
1122
|
end)
|
1081
1123
|
|
1082
1124
|
api.add_operation(:remove_permission, Seahorse::Model::Operation.new.tap do |o|
|
@@ -65,11 +65,15 @@ module Aws
|
|
65
65
|
def authenticate!(message_body)
|
66
66
|
msg = Json.load(message_body)
|
67
67
|
msg = convert_lambda_msg(msg) if is_from_lambda(msg)
|
68
|
-
|
69
|
-
|
68
|
+
|
69
|
+
case msg['SignatureVersion']
|
70
|
+
when '1'
|
71
|
+
verify!(msg, sha1)
|
72
|
+
when '2'
|
73
|
+
verify!(msg, sha256)
|
70
74
|
else
|
71
|
-
|
72
|
-
raise VerificationError,
|
75
|
+
error_msg = 'Invalid SignatureVersion'
|
76
|
+
raise VerificationError, error_msg
|
73
77
|
end
|
74
78
|
end
|
75
79
|
|
@@ -88,10 +92,23 @@ module Aws
|
|
88
92
|
message
|
89
93
|
end
|
90
94
|
|
95
|
+
def verify!(msg, hash_alg)
|
96
|
+
if public_key(msg).verify(hash_alg, signature(msg), canonical_string(msg))
|
97
|
+
true
|
98
|
+
else
|
99
|
+
msg = 'the authenticity of the message cannot be verified'
|
100
|
+
raise VerificationError, msg
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
91
104
|
def sha1
|
92
105
|
OpenSSL::Digest::SHA1.new
|
93
106
|
end
|
94
107
|
|
108
|
+
def sha256
|
109
|
+
OpenSSL::Digest::SHA256.new
|
110
|
+
end
|
111
|
+
|
95
112
|
def signature(message)
|
96
113
|
Base64.decode64(message['Signature'])
|
97
114
|
end
|
data/lib/aws-sdk-sns/resource.rb
CHANGED
@@ -81,6 +81,7 @@ module Aws::SNS
|
|
81
81
|
# value: "TagValue", # required
|
82
82
|
# },
|
83
83
|
# ],
|
84
|
+
# data_protection_policy: "attributeValue",
|
84
85
|
# })
|
85
86
|
# @param [Hash] options ({})
|
86
87
|
# @option options [required, String] :name
|
@@ -152,6 +153,14 @@ module Aws::SNS
|
|
152
153
|
# `sns:CreateTopic` and `sns:TagResource` permissions.
|
153
154
|
#
|
154
155
|
# </note>
|
156
|
+
# @option options [String] :data_protection_policy
|
157
|
+
# The body of the policy document you want to use for this topic.
|
158
|
+
#
|
159
|
+
# You can only add one policy per topic.
|
160
|
+
#
|
161
|
+
# The policy must be in JSON string format.
|
162
|
+
#
|
163
|
+
# Length Constraints: Maximum length of 30,720.
|
155
164
|
# @return [Topic]
|
156
165
|
def create_topic(options = {})
|
157
166
|
resp = @client.create_topic(options)
|
data/lib/aws-sdk-sns/types.rb
CHANGED
@@ -401,6 +401,7 @@ module Aws::SNS
|
|
401
401
|
# value: "TagValue", # required
|
402
402
|
# },
|
403
403
|
# ],
|
404
|
+
# data_protection_policy: "attributeValue",
|
404
405
|
# }
|
405
406
|
#
|
406
407
|
# @!attribute [rw] name
|
@@ -481,12 +482,23 @@ module Aws::SNS
|
|
481
482
|
# </note>
|
482
483
|
# @return [Array<Types::Tag>]
|
483
484
|
#
|
485
|
+
# @!attribute [rw] data_protection_policy
|
486
|
+
# The body of the policy document you want to use for this topic.
|
487
|
+
#
|
488
|
+
# You can only add one policy per topic.
|
489
|
+
#
|
490
|
+
# The policy must be in JSON string format.
|
491
|
+
#
|
492
|
+
# Length Constraints: Maximum length of 30,720.
|
493
|
+
# @return [String]
|
494
|
+
#
|
484
495
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopicInput AWS API Documentation
|
485
496
|
#
|
486
497
|
class CreateTopicInput < Struct.new(
|
487
498
|
:name,
|
488
499
|
:attributes,
|
489
|
-
:tags
|
500
|
+
:tags,
|
501
|
+
:data_protection_policy)
|
490
502
|
SENSITIVE = []
|
491
503
|
include Aws::Structure
|
492
504
|
end
|
@@ -651,6 +663,44 @@ module Aws::SNS
|
|
651
663
|
include Aws::Structure
|
652
664
|
end
|
653
665
|
|
666
|
+
# @note When making an API call, you may pass GetDataProtectionPolicyInput
|
667
|
+
# data as a hash:
|
668
|
+
#
|
669
|
+
# {
|
670
|
+
# resource_arn: "topicARN", # required
|
671
|
+
# }
|
672
|
+
#
|
673
|
+
# @!attribute [rw] resource_arn
|
674
|
+
# The ARN of the topic whose `DataProtectionPolicy` you want to get.
|
675
|
+
#
|
676
|
+
# For more information about ARNs, see [Amazon Resource Names
|
677
|
+
# (ARNs)][1] in the Amazon Web Services General Reference.
|
678
|
+
#
|
679
|
+
#
|
680
|
+
#
|
681
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
682
|
+
# @return [String]
|
683
|
+
#
|
684
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicyInput AWS API Documentation
|
685
|
+
#
|
686
|
+
class GetDataProtectionPolicyInput < Struct.new(
|
687
|
+
:resource_arn)
|
688
|
+
SENSITIVE = []
|
689
|
+
include Aws::Structure
|
690
|
+
end
|
691
|
+
|
692
|
+
# @!attribute [rw] data_protection_policy
|
693
|
+
# Retrieves the `DataProtectionPolicy` in JSON string format.
|
694
|
+
# @return [String]
|
695
|
+
#
|
696
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetDataProtectionPolicyResponse AWS API Documentation
|
697
|
+
#
|
698
|
+
class GetDataProtectionPolicyResponse < Struct.new(
|
699
|
+
:data_protection_policy)
|
700
|
+
SENSITIVE = []
|
701
|
+
include Aws::Structure
|
702
|
+
end
|
703
|
+
|
654
704
|
# Input for GetEndpointAttributes action.
|
655
705
|
#
|
656
706
|
# @note When making an API call, you may pass GetEndpointAttributesInput
|
@@ -2227,6 +2277,43 @@ module Aws::SNS
|
|
2227
2277
|
include Aws::Structure
|
2228
2278
|
end
|
2229
2279
|
|
2280
|
+
# @note When making an API call, you may pass PutDataProtectionPolicyInput
|
2281
|
+
# data as a hash:
|
2282
|
+
#
|
2283
|
+
# {
|
2284
|
+
# resource_arn: "topicARN", # required
|
2285
|
+
# data_protection_policy: "attributeValue", # required
|
2286
|
+
# }
|
2287
|
+
#
|
2288
|
+
# @!attribute [rw] resource_arn
|
2289
|
+
# The ARN of the topic whose `DataProtectionPolicy` you want to add or
|
2290
|
+
# update.
|
2291
|
+
#
|
2292
|
+
# For more information about ARNs, see [Amazon Resource Names
|
2293
|
+
# (ARNs)][1] in the Amazon Web Services General Reference.
|
2294
|
+
#
|
2295
|
+
#
|
2296
|
+
#
|
2297
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
2298
|
+
# @return [String]
|
2299
|
+
#
|
2300
|
+
# @!attribute [rw] data_protection_policy
|
2301
|
+
# The JSON serialization of the topic's `DataProtectionPolicy`.
|
2302
|
+
#
|
2303
|
+
# The `DataProtectionPolicy` must be in JSON string format.
|
2304
|
+
#
|
2305
|
+
# Length Constraints: Maximum length of 30,720.
|
2306
|
+
# @return [String]
|
2307
|
+
#
|
2308
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PutDataProtectionPolicyInput AWS API Documentation
|
2309
|
+
#
|
2310
|
+
class PutDataProtectionPolicyInput < Struct.new(
|
2311
|
+
:resource_arn,
|
2312
|
+
:data_protection_policy)
|
2313
|
+
SENSITIVE = []
|
2314
|
+
include Aws::Structure
|
2315
|
+
end
|
2316
|
+
|
2230
2317
|
# Input for RemovePermission action.
|
2231
2318
|
#
|
2232
2319
|
# @note When making an API call, you may pass RemovePermissionInput
|
data/lib/aws-sdk-sns.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-sns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.55.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: 2022-
|
11
|
+
date: 2022-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 3.
|
22
|
+
version: 3.127.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.
|
32
|
+
version: 3.127.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|