aws-sdk-sns 1.54.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 383b2dbe66be2da64df9234092d71187dbc18592809f34b1e53ba88d9cd893c7
4
- data.tar.gz: f2aa8f1ecdc003e86d566959091e3666d3f26bb32411d9fef8de108367b8fef6
3
+ metadata.gz: 8c71df1b2aa3b87d7830d1f1f0da8d3f0e77cd4a47bfefcbd0103b5b6345a0e0
4
+ data.tar.gz: 94e9f8682965568bb34b3390edbda1e837169b7f8b7c71cc0ee5dc21697b734c
5
5
  SHA512:
6
- metadata.gz: 5a47088977b4883aa12a4092501962b27b0b06f114a43ad93161abef1b944d986b8432efd837be6ff96f4356618c6abf27bde30ef888f9f2bc1998de022ed808
7
- data.tar.gz: e87dab42cef1a28c641cb16b23add12ce6669bd7694e373ae72da8b6b4c369ddddb0c60d950e3fbc51d76169e693cdb7497343385cc2571fa0bdb2d3a9872ed6
6
+ metadata.gz: 1748ac289a9df669017f6a77869f5cf04b5c5e91f4576d6519d0c24e5628b2be2e22f526df0f1337930a88e0ea783878bfaa5ed2a7f9ad07eaa8890a59617a12
7
+ data.tar.gz: '0994ffbc6518f135eeed5877540a3d30ddc42c9d4aef3f155780c22b3cecab8da234890882859f54624969aaab12d8aa84c63cddbee5158b71520f4eaf277d0e'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.54.0 (2022-08-22)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.54.0
1
+ 1.55.0
@@ -748,6 +748,15 @@ module Aws::SNS
748
748
  #
749
749
  # </note>
750
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
+ #
751
760
  # @return [Types::CreateTopicResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
752
761
  #
753
762
  # * {Types::CreateTopicResponse#topic_arn #topic_arn} => String
@@ -765,6 +774,7 @@ module Aws::SNS
765
774
  # value: "TagValue", # required
766
775
  # },
767
776
  # ],
777
+ # data_protection_policy: "attributeValue",
768
778
  # })
769
779
  #
770
780
  # @example Response structure
@@ -902,6 +912,42 @@ module Aws::SNS
902
912
  req.send_request(options)
903
913
  end
904
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
+
905
951
  # Retrieves the endpoint attributes for a device on one of the supported
906
952
  # push notification services, such as GCM (Firebase Cloud Messaging) and
907
953
  # APNS. For more information, see [Using Amazon SNS Mobile Push
@@ -1836,6 +1882,45 @@ module Aws::SNS
1836
1882
  req.send_request(options)
1837
1883
  end
1838
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
+
1839
1924
  # Removes a statement from a topic's access control policy.
1840
1925
  #
1841
1926
  # @option params [required, String] :topic_arn
@@ -2606,7 +2691,7 @@ module Aws::SNS
2606
2691
  params: params,
2607
2692
  config: config)
2608
2693
  context[:gem_name] = 'aws-sdk-sns'
2609
- context[:gem_version] = '1.54.0'
2694
+ context[:gem_version] = '1.55.0'
2610
2695
  Seahorse::Client::Request.new(handlers, context)
2611
2696
  end
2612
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|
@@ -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)
@@ -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
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-sns/customizations'
52
52
  # @!group service
53
53
  module Aws::SNS
54
54
 
55
- GEM_VERSION = '1.54.0'
55
+ GEM_VERSION = '1.55.0'
56
56
 
57
57
  end
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.54.0
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-08-22 00:00:00.000000000 Z
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