aws-sdk-ses 1.68.0 → 1.70.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: 73cb7b7a6dcdec37ab4846f64e4916d4f37e877b03b1ba99b81d14e0903384e8
4
- data.tar.gz: c13392722f7f3e59bf064431dcadcb87e611a9138c62e7c602545ce83c0f9b83
3
+ metadata.gz: d7064e9a7fa9dc47750f5f858af07f77a2a0749079ab9b69822412ca871cbe84
4
+ data.tar.gz: bb60cc6e61f038f0ad927efcce960f4b788e41daeee4af6e01accc1fb9c0d97e
5
5
  SHA512:
6
- metadata.gz: 96e8f866de133ab939db4b69d111b4487631ea67dca7f051c43e0b556dce035a73be5da71c7fb3427f6e880ca9b955bee7d6ffac4b11b67117321334ffe0c44e
7
- data.tar.gz: a66ceea91aaab8745ec49f1d6e04e348ebf7da64ebe3b6ef9b3928a94cfb459b5b3be5bbce8e6aefa55698a50214f26ec5558dc46ab3f8fb3424941111498909
6
+ metadata.gz: a7e59a605dc21956f3730ca160ee1340afe86ea803d8d63602861b3015fd3772e134cb592bae0f4cedf467abcce08b233ec9282f0d7bc6f6f6e07954dd5f6224
7
+ data.tar.gz: 72029f224d9c1502c3a1135f9f340a6f6dd9547430908cb74c4a4247478fa9b1461d450ea32a2fdd4df0f96f18c3b6344e27cbd91b8f18daeb03d92404dd6567
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.70.0 (2024-09-03)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.69.0 (2024-08-21)
10
+ ------------------
11
+
12
+ * Feature - Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action"
13
+
4
14
  1.68.0 (2024-07-08)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.68.0
1
+ 1.70.0
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
32
  require 'aws-sdk-core/plugins/request_compression.rb'
33
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
34
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
35
36
  require 'aws-sdk-core/plugins/sign.rb'
36
37
  require 'aws-sdk-core/plugins/protocols/query.rb'
37
38
 
@@ -83,6 +84,7 @@ module Aws::SES
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
89
  add_plugin(Aws::Plugins::Protocols::Query)
88
90
  add_plugin(Aws::SES::Plugins::Endpoints)
@@ -330,6 +332,16 @@ module Aws::SES
330
332
  # ** Please note ** When response stubbing is enabled, no HTTP
331
333
  # requests are made, and retries are disabled.
332
334
  #
335
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
336
+ # Allows you to provide a telemetry provider, which is used to
337
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
338
+ # will not record or emit any telemetry data. The SDK supports the
339
+ # following telemetry providers:
340
+ #
341
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
342
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
343
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
344
+ #
333
345
  # @option options [Aws::TokenProvider] :token_provider
334
346
  # A Bearer Token Provider. This can be an instance of any one of the
335
347
  # following classes:
@@ -808,6 +820,7 @@ module Aws::SES
808
820
  # bucket_name: "S3BucketName", # required
809
821
  # object_key_prefix: "S3KeyPrefix",
810
822
  # kms_key_arn: "AmazonResourceName",
823
+ # iam_role_arn: "IAMRoleARN",
811
824
  # },
812
825
  # bounce_action: {
813
826
  # topic_arn: "AmazonResourceName",
@@ -1418,6 +1431,7 @@ module Aws::SES
1418
1431
  # resp.rules[0].actions[0].s3_action.bucket_name #=> String
1419
1432
  # resp.rules[0].actions[0].s3_action.object_key_prefix #=> String
1420
1433
  # resp.rules[0].actions[0].s3_action.kms_key_arn #=> String
1434
+ # resp.rules[0].actions[0].s3_action.iam_role_arn #=> String
1421
1435
  # resp.rules[0].actions[0].bounce_action.topic_arn #=> String
1422
1436
  # resp.rules[0].actions[0].bounce_action.smtp_reply_code #=> String
1423
1437
  # resp.rules[0].actions[0].bounce_action.status_code #=> String
@@ -1574,6 +1588,7 @@ module Aws::SES
1574
1588
  # resp.rule.actions[0].s3_action.bucket_name #=> String
1575
1589
  # resp.rule.actions[0].s3_action.object_key_prefix #=> String
1576
1590
  # resp.rule.actions[0].s3_action.kms_key_arn #=> String
1591
+ # resp.rule.actions[0].s3_action.iam_role_arn #=> String
1577
1592
  # resp.rule.actions[0].bounce_action.topic_arn #=> String
1578
1593
  # resp.rule.actions[0].bounce_action.smtp_reply_code #=> String
1579
1594
  # resp.rule.actions[0].bounce_action.status_code #=> String
@@ -1674,6 +1689,7 @@ module Aws::SES
1674
1689
  # resp.rules[0].actions[0].s3_action.bucket_name #=> String
1675
1690
  # resp.rules[0].actions[0].s3_action.object_key_prefix #=> String
1676
1691
  # resp.rules[0].actions[0].s3_action.kms_key_arn #=> String
1692
+ # resp.rules[0].actions[0].s3_action.iam_role_arn #=> String
1677
1693
  # resp.rules[0].actions[0].bounce_action.topic_arn #=> String
1678
1694
  # resp.rules[0].actions[0].bounce_action.smtp_reply_code #=> String
1679
1695
  # resp.rules[0].actions[0].bounce_action.status_code #=> String
@@ -3159,7 +3175,7 @@ module Aws::SES
3159
3175
  # @option params [String] :template_arn
3160
3176
  # The ARN of the template to use when sending this email.
3161
3177
  #
3162
- # @option params [String] :default_template_data
3178
+ # @option params [required, String] :default_template_data
3163
3179
  # A list of replacement values to apply to the template when replacement
3164
3180
  # data is not specified in a Destination object. These values act as a
3165
3181
  # default or fallback option when no other data is available.
@@ -3194,7 +3210,7 @@ module Aws::SES
3194
3210
  # ],
3195
3211
  # template: "TemplateName", # required
3196
3212
  # template_arn: "AmazonResourceName",
3197
- # default_template_data: "TemplateData",
3213
+ # default_template_data: "TemplateData", # required
3198
3214
  # destinations: [ # required
3199
3215
  # {
3200
3216
  # destination: { # required
@@ -4855,6 +4871,7 @@ module Aws::SES
4855
4871
  # bucket_name: "S3BucketName", # required
4856
4872
  # object_key_prefix: "S3KeyPrefix",
4857
4873
  # kms_key_arn: "AmazonResourceName",
4874
+ # iam_role_arn: "IAMRoleARN",
4858
4875
  # },
4859
4876
  # bounce_action: {
4860
4877
  # topic_arn: "AmazonResourceName",
@@ -5144,14 +5161,19 @@ module Aws::SES
5144
5161
  # @api private
5145
5162
  def build_request(operation_name, params = {})
5146
5163
  handlers = @handlers.for(operation_name)
5164
+ tracer = config.telemetry_provider.tracer_provider.tracer(
5165
+ Aws::Telemetry.module_to_tracer_name('Aws::SES')
5166
+ )
5147
5167
  context = Seahorse::Client::RequestContext.new(
5148
5168
  operation_name: operation_name,
5149
5169
  operation: config.api.operation(operation_name),
5150
5170
  client: self,
5151
5171
  params: params,
5152
- config: config)
5172
+ config: config,
5173
+ tracer: tracer
5174
+ )
5153
5175
  context[:gem_name] = 'aws-sdk-ses'
5154
- context[:gem_version] = '1.68.0'
5176
+ context[:gem_version] = '1.70.0'
5155
5177
  Seahorse::Client::Request.new(handlers, context)
5156
5178
  end
5157
5179
 
@@ -149,6 +149,7 @@ module Aws::SES
149
149
  HeaderName = Shapes::StringShape.new(name: 'HeaderName')
150
150
  HeaderValue = Shapes::StringShape.new(name: 'HeaderValue')
151
151
  HtmlPart = Shapes::StringShape.new(name: 'HtmlPart')
152
+ IAMRoleARN = Shapes::StringShape.new(name: 'IAMRoleARN')
152
153
  Identity = Shapes::StringShape.new(name: 'Identity')
153
154
  IdentityDkimAttributes = Shapes::StructureShape.new(name: 'IdentityDkimAttributes')
154
155
  IdentityList = Shapes::ListShape.new(name: 'IdentityList')
@@ -905,6 +906,7 @@ module Aws::SES
905
906
  S3Action.add_member(:bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, required: true, location_name: "BucketName"))
906
907
  S3Action.add_member(:object_key_prefix, Shapes::ShapeRef.new(shape: S3KeyPrefix, location_name: "ObjectKeyPrefix"))
907
908
  S3Action.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "KmsKeyArn"))
909
+ S3Action.add_member(:iam_role_arn, Shapes::ShapeRef.new(shape: IAMRoleARN, location_name: "IamRoleArn"))
908
910
  S3Action.struct_class = Types::S3Action
909
911
 
910
912
  SNSAction.add_member(:topic_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "TopicArn"))
@@ -934,7 +936,7 @@ module Aws::SES
934
936
  SendBulkTemplatedEmailRequest.add_member(:default_tags, Shapes::ShapeRef.new(shape: MessageTagList, location_name: "DefaultTags"))
935
937
  SendBulkTemplatedEmailRequest.add_member(:template, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "Template"))
936
938
  SendBulkTemplatedEmailRequest.add_member(:template_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "TemplateArn"))
937
- SendBulkTemplatedEmailRequest.add_member(:default_template_data, Shapes::ShapeRef.new(shape: TemplateData, location_name: "DefaultTemplateData"))
939
+ SendBulkTemplatedEmailRequest.add_member(:default_template_data, Shapes::ShapeRef.new(shape: TemplateData, required: true, location_name: "DefaultTemplateData"))
938
940
  SendBulkTemplatedEmailRequest.add_member(:destinations, Shapes::ShapeRef.new(shape: BulkEmailDestinationList, required: true, location_name: "Destinations"))
939
941
  SendBulkTemplatedEmailRequest.struct_class = Types::SendBulkTemplatedEmailRequest
940
942
 
@@ -3525,28 +3525,28 @@ module Aws::SES
3525
3525
  # @return [String]
3526
3526
  #
3527
3527
  # @!attribute [rw] kms_key_arn
3528
- # The customer master key that Amazon SES should use to encrypt your
3528
+ # The customer managed key that Amazon SES should use to encrypt your
3529
3529
  # emails before saving them to the Amazon S3 bucket. You can use the
3530
- # default master key or a custom master key that you created in Amazon
3531
- # Web Services KMS as follows:
3530
+ # default managed key or a custom managed key that you created in
3531
+ # Amazon Web Services KMS as follows:
3532
3532
  #
3533
- # * To use the default master key, provide an ARN in the form of
3533
+ # * To use the default managed key, provide an ARN in the form of
3534
3534
  # `arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses`. For
3535
3535
  # example, if your Amazon Web Services account ID is 123456789012
3536
- # and you want to use the default master key in the US West (Oregon)
3537
- # Region, the ARN of the default master key would be
3536
+ # and you want to use the default managed key in the US West
3537
+ # (Oregon) Region, the ARN of the default master key would be
3538
3538
  # `arn:aws:kms:us-west-2:123456789012:alias/aws/ses`. If you use the
3539
- # default master key, you don't need to perform any extra steps to
3539
+ # default managed key, you don't need to perform any extra steps to
3540
3540
  # give Amazon SES permission to use the key.
3541
3541
  #
3542
- # * To use a custom master key that you created in Amazon Web Services
3543
- # KMS, provide the ARN of the master key and ensure that you add a
3544
- # statement to your key's policy to give Amazon SES permission to
3545
- # use it. For more information about giving permissions, see the
3546
- # [Amazon SES Developer Guide][1].
3542
+ # * To use a custom managed key that you created in Amazon Web
3543
+ # Services KMS, provide the ARN of the managed key and ensure that
3544
+ # you add a statement to your key's policy to give Amazon SES
3545
+ # permission to use it. For more information about giving
3546
+ # permissions, see the [Amazon SES Developer Guide][1].
3547
3547
  #
3548
3548
  # For more information about key policies, see the [Amazon Web
3549
- # Services KMS Developer Guide][2]. If you do not specify a master
3549
+ # Services KMS Developer Guide][2]. If you do not specify a managed
3550
3550
  # key, Amazon SES does not encrypt your emails.
3551
3551
  #
3552
3552
  # Your mail is encrypted by Amazon SES using the Amazon S3 encryption
@@ -3558,7 +3558,7 @@ module Aws::SES
3558
3558
  # encryption client is currently available with the [Amazon Web
3559
3559
  # Services SDK for Java][3] and [Amazon Web Services SDK for Ruby][4]
3560
3560
  # only. For more information about client-side encryption using Amazon
3561
- # Web Services KMS master keys, see the [Amazon S3 Developer
3561
+ # Web Services KMS managed keys, see the [Amazon S3 Developer
3562
3562
  # Guide][5].
3563
3563
  #
3564
3564
  #
@@ -3570,13 +3570,37 @@ module Aws::SES
3570
3570
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
3571
3571
  # @return [String]
3572
3572
  #
3573
+ # @!attribute [rw] iam_role_arn
3574
+ # The ARN of the IAM role to be used by Amazon Simple Email Service
3575
+ # while writing to the Amazon S3 bucket, optionally encrypting your
3576
+ # mail via the provided customer managed key, and publishing to the
3577
+ # Amazon SNS topic. This role should have access to the following
3578
+ # APIs:
3579
+ #
3580
+ # * `s3:PutObject`, `kms:Encrypt` and `kms:GenerateDataKey` for the
3581
+ # given Amazon S3 bucket.
3582
+ #
3583
+ # * `kms:GenerateDataKey` for the given Amazon Web Services KMS
3584
+ # customer managed key.
3585
+ #
3586
+ # * `sns:Publish` for the given Amazon SNS topic.
3587
+ #
3588
+ # <note markdown="1"> If an IAM role ARN is provided, the role (and only the role) is used
3589
+ # to access all the given resources (Amazon S3 bucket, Amazon Web
3590
+ # Services KMS customer managed key and Amazon SNS topic). Therefore,
3591
+ # setting up individual resource access permissions is not required.
3592
+ #
3593
+ # </note>
3594
+ # @return [String]
3595
+ #
3573
3596
  # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/S3Action AWS API Documentation
3574
3597
  #
3575
3598
  class S3Action < Struct.new(
3576
3599
  :topic_arn,
3577
3600
  :bucket_name,
3578
3601
  :object_key_prefix,
3579
- :kms_key_arn)
3602
+ :kms_key_arn,
3603
+ :iam_role_arn)
3580
3604
  SENSITIVE = []
3581
3605
  include Aws::Structure
3582
3606
  end
data/lib/aws-sdk-ses.rb CHANGED
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-ses/customizations'
53
53
  # @!group service
54
54
  module Aws::SES
55
55
 
56
- GEM_VERSION = '1.68.0'
56
+ GEM_VERSION = '1.70.0'
57
57
 
58
58
  end
data/sig/client.rbs CHANGED
@@ -50,6 +50,7 @@ module Aws
50
50
  ?session_token: String,
51
51
  ?sigv4a_signing_region_set: Array[String],
52
52
  ?stub_responses: untyped,
53
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
53
54
  ?token_provider: untyped,
54
55
  ?use_dualstack_endpoint: bool,
55
56
  ?use_fips_endpoint: bool,
@@ -180,7 +181,8 @@ module Aws
180
181
  topic_arn: ::String?,
181
182
  bucket_name: ::String,
182
183
  object_key_prefix: ::String?,
183
- kms_key_arn: ::String?
184
+ kms_key_arn: ::String?,
185
+ iam_role_arn: ::String?
184
186
  }?,
185
187
  bounce_action: {
186
188
  topic_arn: ::String?,
@@ -669,7 +671,7 @@ module Aws
669
671
  ],
670
672
  template: ::String,
671
673
  ?template_arn: ::String,
672
- ?default_template_data: ::String,
674
+ default_template_data: ::String,
673
675
  destinations: Array[
674
676
  {
675
677
  destination: {
@@ -970,7 +972,8 @@ module Aws
970
972
  topic_arn: ::String?,
971
973
  bucket_name: ::String,
972
974
  object_key_prefix: ::String?,
973
- kms_key_arn: ::String?
975
+ kms_key_arn: ::String?,
976
+ iam_role_arn: ::String?
974
977
  }?,
975
978
  bounce_action: {
976
979
  topic_arn: ::String?,
data/sig/resource.rbs CHANGED
@@ -50,6 +50,7 @@ module Aws
50
50
  ?session_token: String,
51
51
  ?sigv4a_signing_region_set: Array[String],
52
52
  ?stub_responses: untyped,
53
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
53
54
  ?token_provider: untyped,
54
55
  ?use_dualstack_endpoint: bool,
55
56
  ?use_fips_endpoint: bool,
data/sig/types.rbs CHANGED
@@ -795,6 +795,7 @@ module Aws::SES
795
795
  attr_accessor bucket_name: ::String
796
796
  attr_accessor object_key_prefix: ::String
797
797
  attr_accessor kms_key_arn: ::String
798
+ attr_accessor iam_role_arn: ::String
798
799
  SENSITIVE: []
799
800
  end
800
801
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.68.0
4
+ version: 1.70.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: 2024-07-08 00:00:00.000000000 Z
11
+ date: 2024-09-03 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.201.0
22
+ version: 3.203.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.201.0
32
+ version: 3.203.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement