aws-sdk-dlm 1.36.0 → 1.37.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: 4e35032d5f55125c8e0841eac626aa65392e1c3c085d7010ca8d6e74bfa37c95
4
- data.tar.gz: c891e27239e9cb142b859844a349f8002b74e99ceea0dc843a688ccfab715e77
3
+ metadata.gz: 03db49b48fb3996cfcc87bde4b92e20c00e2342163efe91634b2a8d87d4fe4b1
4
+ data.tar.gz: 70d850aa622ed73659bc1d17bf10ffb4aba90bbe3313dea378248f349c388b30
5
5
  SHA512:
6
- metadata.gz: 5b955e6049f509760fe6ea4b871ac057ef61f5e762fc8470e482d59da7f6f921322cbfb20d9a70d3b6b9d5087fa94dfb62d999fc794146149a8d2a0df8e54cac
7
- data.tar.gz: 24060eba889f9fd8df3da3ee54b1c996c49f4469dade8d77e72457a78ff6f4a4cac164dae7caf8807212a915dd76130ba258c0fafa71fec8e476caa76af5440b
6
+ metadata.gz: bd639ef2351a6fa96a54ac2c366936ce87b84a7d2dcfdf2b95428bbf7fee073bd64c09089dff27ee9f904efb52980ed5cbb3d3bb47f997658eb52483bded97e7
7
+ data.tar.gz: 2793c5771211361c8407f436adb241620d07c47b0024a74b6de63e8f9558219766891168d3e890af556c21046af5a184a62895dae28f182f1539b4887f5a9179
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-dlm/customizations'
48
48
  # @!group service
49
49
  module Aws::DLM
50
50
 
51
- GEM_VERSION = '1.36.0'
51
+ GEM_VERSION = '1.37.0'
52
52
 
53
53
  end
@@ -358,7 +358,7 @@ module Aws::DLM
358
358
  # description: "PolicyDescription", # required
359
359
  # state: "ENABLED", # required, accepts ENABLED, DISABLED
360
360
  # policy_details: { # required
361
- # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT
361
+ # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
362
362
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
363
363
  # target_tags: [
364
364
  # {
@@ -411,12 +411,45 @@ module Aws::DLM
411
411
  # },
412
412
  # },
413
413
  # ],
414
+ # share_rules: [
415
+ # {
416
+ # target_accounts: ["AwsAccountId"], # required
417
+ # unshare_interval: 1,
418
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
419
+ # },
420
+ # ],
414
421
  # },
415
422
  # ],
416
423
  # parameters: {
417
424
  # exclude_boot_volume: false,
418
425
  # no_reboot: false,
419
426
  # },
427
+ # event_source: {
428
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
429
+ # parameters: {
430
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
431
+ # snapshot_owner: ["AwsAccountId"], # required
432
+ # description_regex: "DescriptionRegex", # required
433
+ # },
434
+ # },
435
+ # actions: [
436
+ # {
437
+ # name: "ActionName", # required
438
+ # cross_region_copy: [ # required
439
+ # {
440
+ # target: "Target", # required
441
+ # encryption_configuration: { # required
442
+ # encrypted: false, # required
443
+ # cmk_arn: "CmkArn",
444
+ # },
445
+ # retain_rule: {
446
+ # interval: 1,
447
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
448
+ # },
449
+ # },
450
+ # ],
451
+ # },
452
+ # ],
420
453
  # },
421
454
  # tags: {
422
455
  # "TagKey" => "TagValue",
@@ -508,7 +541,7 @@ module Aws::DLM
508
541
  # resp.policies[0].state #=> String, one of "ENABLED", "DISABLED", "ERROR"
509
542
  # resp.policies[0].tags #=> Hash
510
543
  # resp.policies[0].tags["TagKey"] #=> String
511
- # resp.policies[0].policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT"
544
+ # resp.policies[0].policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT", "EVENT_BASED_POLICY"
512
545
  #
513
546
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies AWS API Documentation
514
547
  #
@@ -543,7 +576,7 @@ module Aws::DLM
543
576
  # resp.policy.execution_role_arn #=> String
544
577
  # resp.policy.date_created #=> Time
545
578
  # resp.policy.date_modified #=> Time
546
- # resp.policy.policy_details.policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT"
579
+ # resp.policy.policy_details.policy_type #=> String, one of "EBS_SNAPSHOT_MANAGEMENT", "IMAGE_MANAGEMENT", "EVENT_BASED_POLICY"
547
580
  # resp.policy.policy_details.resource_types #=> Array
548
581
  # resp.policy.policy_details.resource_types[0] #=> String, one of "VOLUME", "INSTANCE"
549
582
  # resp.policy.policy_details.target_tags #=> Array
@@ -578,8 +611,26 @@ module Aws::DLM
578
611
  # resp.policy.policy_details.schedules[0].cross_region_copy_rules[0].copy_tags #=> Boolean
579
612
  # resp.policy.policy_details.schedules[0].cross_region_copy_rules[0].retain_rule.interval #=> Integer
580
613
  # resp.policy.policy_details.schedules[0].cross_region_copy_rules[0].retain_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
614
+ # resp.policy.policy_details.schedules[0].share_rules #=> Array
615
+ # resp.policy.policy_details.schedules[0].share_rules[0].target_accounts #=> Array
616
+ # resp.policy.policy_details.schedules[0].share_rules[0].target_accounts[0] #=> String
617
+ # resp.policy.policy_details.schedules[0].share_rules[0].unshare_interval #=> Integer
618
+ # resp.policy.policy_details.schedules[0].share_rules[0].unshare_interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
581
619
  # resp.policy.policy_details.parameters.exclude_boot_volume #=> Boolean
582
620
  # resp.policy.policy_details.parameters.no_reboot #=> Boolean
621
+ # resp.policy.policy_details.event_source.type #=> String, one of "MANAGED_CWE"
622
+ # resp.policy.policy_details.event_source.parameters.event_type #=> String, one of "shareSnapshot"
623
+ # resp.policy.policy_details.event_source.parameters.snapshot_owner #=> Array
624
+ # resp.policy.policy_details.event_source.parameters.snapshot_owner[0] #=> String
625
+ # resp.policy.policy_details.event_source.parameters.description_regex #=> String
626
+ # resp.policy.policy_details.actions #=> Array
627
+ # resp.policy.policy_details.actions[0].name #=> String
628
+ # resp.policy.policy_details.actions[0].cross_region_copy #=> Array
629
+ # resp.policy.policy_details.actions[0].cross_region_copy[0].target #=> String
630
+ # resp.policy.policy_details.actions[0].cross_region_copy[0].encryption_configuration.encrypted #=> Boolean
631
+ # resp.policy.policy_details.actions[0].cross_region_copy[0].encryption_configuration.cmk_arn #=> String
632
+ # resp.policy.policy_details.actions[0].cross_region_copy[0].retain_rule.interval #=> Integer
633
+ # resp.policy.policy_details.actions[0].cross_region_copy[0].retain_rule.interval_unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
583
634
  # resp.policy.tags #=> Hash
584
635
  # resp.policy.tags["TagKey"] #=> String
585
636
  # resp.policy.policy_arn #=> String
@@ -705,7 +756,7 @@ module Aws::DLM
705
756
  # state: "ENABLED", # accepts ENABLED, DISABLED
706
757
  # description: "PolicyDescription",
707
758
  # policy_details: {
708
- # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT
759
+ # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
709
760
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
710
761
  # target_tags: [
711
762
  # {
@@ -758,12 +809,45 @@ module Aws::DLM
758
809
  # },
759
810
  # },
760
811
  # ],
812
+ # share_rules: [
813
+ # {
814
+ # target_accounts: ["AwsAccountId"], # required
815
+ # unshare_interval: 1,
816
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
817
+ # },
818
+ # ],
761
819
  # },
762
820
  # ],
763
821
  # parameters: {
764
822
  # exclude_boot_volume: false,
765
823
  # no_reboot: false,
766
824
  # },
825
+ # event_source: {
826
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
827
+ # parameters: {
828
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
829
+ # snapshot_owner: ["AwsAccountId"], # required
830
+ # description_regex: "DescriptionRegex", # required
831
+ # },
832
+ # },
833
+ # actions: [
834
+ # {
835
+ # name: "ActionName", # required
836
+ # cross_region_copy: [ # required
837
+ # {
838
+ # target: "Target", # required
839
+ # encryption_configuration: { # required
840
+ # encrypted: false, # required
841
+ # cmk_arn: "CmkArn",
842
+ # },
843
+ # retain_rule: {
844
+ # interval: 1,
845
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
846
+ # },
847
+ # },
848
+ # ],
849
+ # },
850
+ # ],
767
851
  # },
768
852
  # })
769
853
  #
@@ -789,7 +873,7 @@ module Aws::DLM
789
873
  params: params,
790
874
  config: config)
791
875
  context[:gem_name] = 'aws-sdk-dlm'
792
- context[:gem_version] = '1.36.0'
876
+ context[:gem_version] = '1.37.0'
793
877
  Seahorse::Client::Request.new(handlers, context)
794
878
  end
795
879
 
@@ -13,8 +13,12 @@ module Aws::DLM
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ Action = Shapes::StructureShape.new(name: 'Action')
17
+ ActionList = Shapes::ListShape.new(name: 'ActionList')
18
+ ActionName = Shapes::StringShape.new(name: 'ActionName')
16
19
  AvailabilityZone = Shapes::StringShape.new(name: 'AvailabilityZone')
17
20
  AvailabilityZoneList = Shapes::ListShape.new(name: 'AvailabilityZoneList')
21
+ AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
18
22
  CmkArn = Shapes::StringShape.new(name: 'CmkArn')
19
23
  CopyTags = Shapes::BooleanShape.new(name: 'CopyTags')
20
24
  CopyTagsNullable = Shapes::BooleanShape.new(name: 'CopyTagsNullable')
@@ -23,14 +27,22 @@ module Aws::DLM
23
27
  CreateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'CreateLifecyclePolicyResponse')
24
28
  CreateRule = Shapes::StructureShape.new(name: 'CreateRule')
25
29
  CronExpression = Shapes::StringShape.new(name: 'CronExpression')
30
+ CrossRegionCopyAction = Shapes::StructureShape.new(name: 'CrossRegionCopyAction')
31
+ CrossRegionCopyActionList = Shapes::ListShape.new(name: 'CrossRegionCopyActionList')
26
32
  CrossRegionCopyRetainRule = Shapes::StructureShape.new(name: 'CrossRegionCopyRetainRule')
27
33
  CrossRegionCopyRule = Shapes::StructureShape.new(name: 'CrossRegionCopyRule')
28
34
  CrossRegionCopyRules = Shapes::ListShape.new(name: 'CrossRegionCopyRules')
29
35
  DeleteLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyRequest')
30
36
  DeleteLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyResponse')
37
+ DescriptionRegex = Shapes::StringShape.new(name: 'DescriptionRegex')
31
38
  Encrypted = Shapes::BooleanShape.new(name: 'Encrypted')
39
+ EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
32
40
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
33
41
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
42
+ EventParameters = Shapes::StructureShape.new(name: 'EventParameters')
43
+ EventSource = Shapes::StructureShape.new(name: 'EventSource')
44
+ EventSourceValues = Shapes::StringShape.new(name: 'EventSourceValues')
45
+ EventTypeValues = Shapes::StringShape.new(name: 'EventTypeValues')
34
46
  ExcludeBootVolume = Shapes::BooleanShape.new(name: 'ExcludeBootVolume')
35
47
  ExecutionRoleArn = Shapes::StringShape.new(name: 'ExecutionRoleArn')
36
48
  FastRestoreRule = Shapes::StructureShape.new(name: 'FastRestoreRule')
@@ -68,6 +80,10 @@ module Aws::DLM
68
80
  ScheduleList = Shapes::ListShape.new(name: 'ScheduleList')
69
81
  ScheduleName = Shapes::StringShape.new(name: 'ScheduleName')
70
82
  SettablePolicyStateValues = Shapes::StringShape.new(name: 'SettablePolicyStateValues')
83
+ ShareRule = Shapes::StructureShape.new(name: 'ShareRule')
84
+ ShareRules = Shapes::ListShape.new(name: 'ShareRules')
85
+ ShareTargetAccountList = Shapes::ListShape.new(name: 'ShareTargetAccountList')
86
+ SnapshotOwnerList = Shapes::ListShape.new(name: 'SnapshotOwnerList')
71
87
  StatusMessage = Shapes::StringShape.new(name: 'StatusMessage')
72
88
  String = Shapes::StringShape.new(name: 'String')
73
89
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -80,6 +96,7 @@ module Aws::DLM
80
96
  TagValue = Shapes::StringShape.new(name: 'TagValue')
81
97
  TagsToAddFilterList = Shapes::ListShape.new(name: 'TagsToAddFilterList')
82
98
  TagsToAddList = Shapes::ListShape.new(name: 'TagsToAddList')
99
+ Target = Shapes::StringShape.new(name: 'Target')
83
100
  TargetRegion = Shapes::StringShape.new(name: 'TargetRegion')
84
101
  TargetTagList = Shapes::ListShape.new(name: 'TargetTagList')
85
102
  TargetTagsFilterList = Shapes::ListShape.new(name: 'TargetTagsFilterList')
@@ -92,6 +109,12 @@ module Aws::DLM
92
109
  UpdateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'UpdateLifecyclePolicyResponse')
93
110
  VariableTagsList = Shapes::ListShape.new(name: 'VariableTagsList')
94
111
 
112
+ Action.add_member(:name, Shapes::ShapeRef.new(shape: ActionName, required: true, location_name: "Name"))
113
+ Action.add_member(:cross_region_copy, Shapes::ShapeRef.new(shape: CrossRegionCopyActionList, required: true, location_name: "CrossRegionCopy"))
114
+ Action.struct_class = Types::Action
115
+
116
+ ActionList.member = Shapes::ShapeRef.new(shape: Action)
117
+
95
118
  AvailabilityZoneList.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
96
119
 
97
120
  CreateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, required: true, location_name: "ExecutionRoleArn"))
@@ -110,6 +133,13 @@ module Aws::DLM
110
133
  CreateRule.add_member(:cron_expression, Shapes::ShapeRef.new(shape: CronExpression, location_name: "CronExpression"))
111
134
  CreateRule.struct_class = Types::CreateRule
112
135
 
136
+ CrossRegionCopyAction.add_member(:target, Shapes::ShapeRef.new(shape: Target, required: true, location_name: "Target"))
137
+ CrossRegionCopyAction.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, required: true, location_name: "EncryptionConfiguration"))
138
+ CrossRegionCopyAction.add_member(:retain_rule, Shapes::ShapeRef.new(shape: CrossRegionCopyRetainRule, location_name: "RetainRule"))
139
+ CrossRegionCopyAction.struct_class = Types::CrossRegionCopyAction
140
+
141
+ CrossRegionCopyActionList.member = Shapes::ShapeRef.new(shape: CrossRegionCopyAction)
142
+
113
143
  CrossRegionCopyRetainRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
114
144
  CrossRegionCopyRetainRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
115
145
  CrossRegionCopyRetainRule.struct_class = Types::CrossRegionCopyRetainRule
@@ -128,6 +158,19 @@ module Aws::DLM
128
158
 
129
159
  DeleteLifecyclePolicyResponse.struct_class = Types::DeleteLifecyclePolicyResponse
130
160
 
161
+ EncryptionConfiguration.add_member(:encrypted, Shapes::ShapeRef.new(shape: Encrypted, required: true, location_name: "Encrypted"))
162
+ EncryptionConfiguration.add_member(:cmk_arn, Shapes::ShapeRef.new(shape: CmkArn, location_name: "CmkArn"))
163
+ EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
164
+
165
+ EventParameters.add_member(:event_type, Shapes::ShapeRef.new(shape: EventTypeValues, required: true, location_name: "EventType"))
166
+ EventParameters.add_member(:snapshot_owner, Shapes::ShapeRef.new(shape: SnapshotOwnerList, required: true, location_name: "SnapshotOwner"))
167
+ EventParameters.add_member(:description_regex, Shapes::ShapeRef.new(shape: DescriptionRegex, required: true, location_name: "DescriptionRegex"))
168
+ EventParameters.struct_class = Types::EventParameters
169
+
170
+ EventSource.add_member(:type, Shapes::ShapeRef.new(shape: EventSourceValues, required: true, location_name: "Type"))
171
+ EventSource.add_member(:parameters, Shapes::ShapeRef.new(shape: EventParameters, location_name: "Parameters"))
172
+ EventSource.struct_class = Types::EventSource
173
+
131
174
  FastRestoreRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, location_name: "Count"))
132
175
  FastRestoreRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, location_name: "Interval"))
133
176
  FastRestoreRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "IntervalUnit"))
@@ -203,6 +246,8 @@ module Aws::DLM
203
246
  PolicyDetails.add_member(:target_tags, Shapes::ShapeRef.new(shape: TargetTagList, location_name: "TargetTags"))
204
247
  PolicyDetails.add_member(:schedules, Shapes::ShapeRef.new(shape: ScheduleList, location_name: "Schedules"))
205
248
  PolicyDetails.add_member(:parameters, Shapes::ShapeRef.new(shape: Parameters, location_name: "Parameters"))
249
+ PolicyDetails.add_member(:event_source, Shapes::ShapeRef.new(shape: EventSource, location_name: "EventSource"))
250
+ PolicyDetails.add_member(:actions, Shapes::ShapeRef.new(shape: ActionList, location_name: "Actions"))
206
251
  PolicyDetails.struct_class = Types::PolicyDetails
207
252
 
208
253
  PolicyIdList.member = Shapes::ShapeRef.new(shape: PolicyId)
@@ -228,10 +273,22 @@ module Aws::DLM
228
273
  Schedule.add_member(:retain_rule, Shapes::ShapeRef.new(shape: RetainRule, location_name: "RetainRule"))
229
274
  Schedule.add_member(:fast_restore_rule, Shapes::ShapeRef.new(shape: FastRestoreRule, location_name: "FastRestoreRule"))
230
275
  Schedule.add_member(:cross_region_copy_rules, Shapes::ShapeRef.new(shape: CrossRegionCopyRules, location_name: "CrossRegionCopyRules"))
276
+ Schedule.add_member(:share_rules, Shapes::ShapeRef.new(shape: ShareRules, location_name: "ShareRules"))
231
277
  Schedule.struct_class = Types::Schedule
232
278
 
233
279
  ScheduleList.member = Shapes::ShapeRef.new(shape: Schedule)
234
280
 
281
+ ShareRule.add_member(:target_accounts, Shapes::ShapeRef.new(shape: ShareTargetAccountList, required: true, location_name: "TargetAccounts"))
282
+ ShareRule.add_member(:unshare_interval, Shapes::ShapeRef.new(shape: Interval, location_name: "UnshareInterval"))
283
+ ShareRule.add_member(:unshare_interval_unit, Shapes::ShapeRef.new(shape: RetentionIntervalUnitValues, location_name: "UnshareIntervalUnit"))
284
+ ShareRule.struct_class = Types::ShareRule
285
+
286
+ ShareRules.member = Shapes::ShapeRef.new(shape: ShareRule)
287
+
288
+ ShareTargetAccountList.member = Shapes::ShapeRef.new(shape: AwsAccountId)
289
+
290
+ SnapshotOwnerList.member = Shapes::ShapeRef.new(shape: AwsAccountId)
291
+
235
292
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Key"))
236
293
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Value"))
237
294
  Tag.struct_class = Types::Tag
@@ -10,6 +10,45 @@
10
10
  module Aws::DLM
11
11
  module Types
12
12
 
13
+ # Specifies an action for an event-based policy.
14
+ #
15
+ # @note When making an API call, you may pass Action
16
+ # data as a hash:
17
+ #
18
+ # {
19
+ # name: "ActionName", # required
20
+ # cross_region_copy: [ # required
21
+ # {
22
+ # target: "Target", # required
23
+ # encryption_configuration: { # required
24
+ # encrypted: false, # required
25
+ # cmk_arn: "CmkArn",
26
+ # },
27
+ # retain_rule: {
28
+ # interval: 1,
29
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
30
+ # },
31
+ # },
32
+ # ],
33
+ # }
34
+ #
35
+ # @!attribute [rw] name
36
+ # A descriptive name for the action.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] cross_region_copy
40
+ # The rule for copying shared snapshots across Regions.
41
+ # @return [Array<Types::CrossRegionCopyAction>]
42
+ #
43
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Action AWS API Documentation
44
+ #
45
+ class Action < Struct.new(
46
+ :name,
47
+ :cross_region_copy)
48
+ SENSITIVE = []
49
+ include Aws::Structure
50
+ end
51
+
13
52
  # @note When making an API call, you may pass CreateLifecyclePolicyRequest
14
53
  # data as a hash:
15
54
  #
@@ -18,7 +57,7 @@ module Aws::DLM
18
57
  # description: "PolicyDescription", # required
19
58
  # state: "ENABLED", # required, accepts ENABLED, DISABLED
20
59
  # policy_details: { # required
21
- # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT
60
+ # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
22
61
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
23
62
  # target_tags: [
24
63
  # {
@@ -71,12 +110,45 @@ module Aws::DLM
71
110
  # },
72
111
  # },
73
112
  # ],
113
+ # share_rules: [
114
+ # {
115
+ # target_accounts: ["AwsAccountId"], # required
116
+ # unshare_interval: 1,
117
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
118
+ # },
119
+ # ],
74
120
  # },
75
121
  # ],
76
122
  # parameters: {
77
123
  # exclude_boot_volume: false,
78
124
  # no_reboot: false,
79
125
  # },
126
+ # event_source: {
127
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
128
+ # parameters: {
129
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
130
+ # snapshot_owner: ["AwsAccountId"], # required
131
+ # description_regex: "DescriptionRegex", # required
132
+ # },
133
+ # },
134
+ # actions: [
135
+ # {
136
+ # name: "ActionName", # required
137
+ # cross_region_copy: [ # required
138
+ # {
139
+ # target: "Target", # required
140
+ # encryption_configuration: { # required
141
+ # encrypted: false, # required
142
+ # cmk_arn: "CmkArn",
143
+ # },
144
+ # retain_rule: {
145
+ # interval: 1,
146
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
147
+ # },
148
+ # },
149
+ # ],
150
+ # },
151
+ # ],
80
152
  # },
81
153
  # tags: {
82
154
  # "TagKey" => "TagValue",
@@ -183,6 +255,45 @@ module Aws::DLM
183
255
  include Aws::Structure
184
256
  end
185
257
 
258
+ # Specifies a rule for copying shared snapshots across Regions.
259
+ #
260
+ # @note When making an API call, you may pass CrossRegionCopyAction
261
+ # data as a hash:
262
+ #
263
+ # {
264
+ # target: "Target", # required
265
+ # encryption_configuration: { # required
266
+ # encrypted: false, # required
267
+ # cmk_arn: "CmkArn",
268
+ # },
269
+ # retain_rule: {
270
+ # interval: 1,
271
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
272
+ # },
273
+ # }
274
+ #
275
+ # @!attribute [rw] target
276
+ # The target Region.
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] encryption_configuration
280
+ # The encryption settings for the copied snapshot.
281
+ # @return [Types::EncryptionConfiguration]
282
+ #
283
+ # @!attribute [rw] retain_rule
284
+ # Specifies the retention rule for cross-Region snapshot copies.
285
+ # @return [Types::CrossRegionCopyRetainRule]
286
+ #
287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CrossRegionCopyAction AWS API Documentation
288
+ #
289
+ class CrossRegionCopyAction < Struct.new(
290
+ :target,
291
+ :encryption_configuration,
292
+ :retain_rule)
293
+ SENSITIVE = []
294
+ include Aws::Structure
295
+ end
296
+
186
297
  # Specifies the retention rule for cross-Region snapshot copies.
187
298
  #
188
299
  # @note When making an API call, you may pass CrossRegionCopyRetainRule
@@ -288,6 +399,115 @@ module Aws::DLM
288
399
  #
289
400
  class DeleteLifecyclePolicyResponse < Aws::EmptyStructure; end
290
401
 
402
+ # Specifies the encryption settings for shared snapshots that are copied
403
+ # across Regions.
404
+ #
405
+ # @note When making an API call, you may pass EncryptionConfiguration
406
+ # data as a hash:
407
+ #
408
+ # {
409
+ # encrypted: false, # required
410
+ # cmk_arn: "CmkArn",
411
+ # }
412
+ #
413
+ # @!attribute [rw] encrypted
414
+ # To encrypt a copy of an unencrypted snapshot when encryption by
415
+ # default is not enabled, enable encryption using this parameter.
416
+ # Copies of encrypted snapshots are encrypted, even if this parameter
417
+ # is false or when encryption by default is not enabled.
418
+ # @return [Boolean]
419
+ #
420
+ # @!attribute [rw] cmk_arn
421
+ # The Amazon Resource Name (ARN) of the AWS KMS customer master key
422
+ # (CMK) to use for EBS encryption. If this parameter is not specified,
423
+ # your AWS managed CMK for EBS is used.
424
+ # @return [String]
425
+ #
426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/EncryptionConfiguration AWS API Documentation
427
+ #
428
+ class EncryptionConfiguration < Struct.new(
429
+ :encrypted,
430
+ :cmk_arn)
431
+ SENSITIVE = []
432
+ include Aws::Structure
433
+ end
434
+
435
+ # Specifies an event that triggers an event-based policy.
436
+ #
437
+ # @note When making an API call, you may pass EventParameters
438
+ # data as a hash:
439
+ #
440
+ # {
441
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
442
+ # snapshot_owner: ["AwsAccountId"], # required
443
+ # description_regex: "DescriptionRegex", # required
444
+ # }
445
+ #
446
+ # @!attribute [rw] event_type
447
+ # The type of event. Currently, only snapshot sharing events are
448
+ # supported.
449
+ # @return [String]
450
+ #
451
+ # @!attribute [rw] snapshot_owner
452
+ # The IDs of the AWS accounts that can trigger policy by sharing
453
+ # snapshots with your account. The policy only runs if one of the
454
+ # specified AWS accounts shares a snapshot with your account.
455
+ # @return [Array<String>]
456
+ #
457
+ # @!attribute [rw] description_regex
458
+ # The snapshot description that can trigger the policy. The
459
+ # description pattern is specified using a regular expression. The
460
+ # policy runs only if a snapshot with a description that matches the
461
+ # specified pattern is shared with your account.
462
+ #
463
+ # For example, specifying `^.*Created for policy:
464
+ # policy-1234567890abcdef0.*$` configures the policy to run only if
465
+ # snapshots created by policy `policy-1234567890abcdef0` are shared
466
+ # with your account.
467
+ # @return [String]
468
+ #
469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/EventParameters AWS API Documentation
470
+ #
471
+ class EventParameters < Struct.new(
472
+ :event_type,
473
+ :snapshot_owner,
474
+ :description_regex)
475
+ SENSITIVE = []
476
+ include Aws::Structure
477
+ end
478
+
479
+ # Specifies an event that triggers an event-based policy.
480
+ #
481
+ # @note When making an API call, you may pass EventSource
482
+ # data as a hash:
483
+ #
484
+ # {
485
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
486
+ # parameters: {
487
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
488
+ # snapshot_owner: ["AwsAccountId"], # required
489
+ # description_regex: "DescriptionRegex", # required
490
+ # },
491
+ # }
492
+ #
493
+ # @!attribute [rw] type
494
+ # The source of the event. Currently only managed AWS CloudWatch
495
+ # Events rules are supported.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] parameters
499
+ # Information about the event.
500
+ # @return [Types::EventParameters]
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/EventSource AWS API Documentation
503
+ #
504
+ class EventSource < Struct.new(
505
+ :type,
506
+ :parameters)
507
+ SENSITIVE = []
508
+ include Aws::Structure
509
+ end
510
+
291
511
  # Specifies a rule for enabling fast snapshot restore. You can enable
292
512
  # fast snapshot restore based on either a count or a time interval.
293
513
  #
@@ -645,7 +865,7 @@ module Aws::DLM
645
865
  # instances are rebooted when the lifecycle policy runs. `true`
646
866
  # indicates that targeted instances are not rebooted when the policy
647
867
  # runs. `false` indicates that target instances are rebooted when the
648
- # policy runs. The default is `true` (instance are not rebooted).
868
+ # policy runs. The default is `true` (instances are not rebooted).
649
869
  # @return [Boolean]
650
870
  #
651
871
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Parameters AWS API Documentation
@@ -663,7 +883,7 @@ module Aws::DLM
663
883
  # data as a hash:
664
884
  #
665
885
  # {
666
- # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT
886
+ # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
667
887
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
668
888
  # target_tags: [
669
889
  # {
@@ -716,12 +936,45 @@ module Aws::DLM
716
936
  # },
717
937
  # },
718
938
  # ],
939
+ # share_rules: [
940
+ # {
941
+ # target_accounts: ["AwsAccountId"], # required
942
+ # unshare_interval: 1,
943
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
944
+ # },
945
+ # ],
719
946
  # },
720
947
  # ],
721
948
  # parameters: {
722
949
  # exclude_boot_volume: false,
723
950
  # no_reboot: false,
724
951
  # },
952
+ # event_source: {
953
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
954
+ # parameters: {
955
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
956
+ # snapshot_owner: ["AwsAccountId"], # required
957
+ # description_regex: "DescriptionRegex", # required
958
+ # },
959
+ # },
960
+ # actions: [
961
+ # {
962
+ # name: "ActionName", # required
963
+ # cross_region_copy: [ # required
964
+ # {
965
+ # target: "Target", # required
966
+ # encryption_configuration: { # required
967
+ # encrypted: false, # required
968
+ # cmk_arn: "CmkArn",
969
+ # },
970
+ # retain_rule: {
971
+ # interval: 1,
972
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
973
+ # },
974
+ # },
975
+ # ],
976
+ # },
977
+ # ],
725
978
  # }
726
979
  #
727
980
  # @!attribute [rw] policy_type
@@ -729,30 +982,62 @@ module Aws::DLM
729
982
  # Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that
730
983
  # manages the lifecycle of Amazon EBS snapshots. Specify
731
984
  # `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the
732
- # lifecycle of EBS-backed AMIs. The default is
733
- # `EBS_SNAPSHOT_MANAGEMENT`.
985
+ # lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY ` to
986
+ # create an event-based policy that performs specific actions when a
987
+ # defined event occurs in your AWS account.
988
+ #
989
+ # The default is `EBS_SNAPSHOT_MANAGEMENT`.
734
990
  # @return [String]
735
991
  #
736
992
  # @!attribute [rw] resource_types
737
- # The resource type. Use VOLUME to create snapshots of individual
738
- # volumes or use INSTANCE to create multi-volume snapshots from the
739
- # volumes for an instance.
993
+ # The target resource type for snapshot and AMI lifecycle policies.
994
+ # Use `VOLUME `to create snapshots of individual volumes or use
995
+ # `INSTANCE` to create multi-volume snapshots from the volumes for an
996
+ # instance.
997
+ #
998
+ # This parameter is required for snapshot and AMI policies only. If
999
+ # you are creating an event-based policy, omit this parameter.
740
1000
  # @return [Array<String>]
741
1001
  #
742
1002
  # @!attribute [rw] target_tags
743
1003
  # The single tag that identifies targeted resources for this policy.
1004
+ #
1005
+ # This parameter is required for snapshot and AMI policies only. If
1006
+ # you are creating an event-based policy, omit this parameter.
744
1007
  # @return [Array<Types::Tag>]
745
1008
  #
746
1009
  # @!attribute [rw] schedules
747
- # The schedules of policy-defined actions. A policy can have up to
748
- # four schedules - one mandatory schedule and up to three optional
749
- # schedules.
1010
+ # The schedules of policy-defined actions for snapshot and AMI
1011
+ # lifecycle policies. A policy can have up to four schedules—one
1012
+ # mandatory schedule and up to three optional schedules.
1013
+ #
1014
+ # This parameter is required for snapshot and AMI policies only. If
1015
+ # you are creating an event-based policy, omit this parameter.
750
1016
  # @return [Array<Types::Schedule>]
751
1017
  #
752
1018
  # @!attribute [rw] parameters
753
- # A set of optional parameters for the policy.
1019
+ # A set of optional parameters for snapshot and AMI lifecycle
1020
+ # policies.
1021
+ #
1022
+ # This parameter is required for snapshot and AMI policies only. If
1023
+ # you are creating an event-based policy, omit this parameter.
754
1024
  # @return [Types::Parameters]
755
1025
  #
1026
+ # @!attribute [rw] event_source
1027
+ # The event that triggers the event-based policy.
1028
+ #
1029
+ # This parameter is required for event-based policies only. If you are
1030
+ # creating a snapshot or AMI policy, omit this parameter.
1031
+ # @return [Types::EventSource]
1032
+ #
1033
+ # @!attribute [rw] actions
1034
+ # The actions to be performed when the event-based policy is
1035
+ # triggered. You can specify only one action per policy.
1036
+ #
1037
+ # This parameter is required for event-based policies only. If you are
1038
+ # creating a snapshot or AMI policy, omit this parameter.
1039
+ # @return [Array<Types::Action>]
1040
+ #
756
1041
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/PolicyDetails AWS API Documentation
757
1042
  #
758
1043
  class PolicyDetails < Struct.new(
@@ -760,7 +1045,9 @@ module Aws::DLM
760
1045
  :resource_types,
761
1046
  :target_tags,
762
1047
  :schedules,
763
- :parameters)
1048
+ :parameters,
1049
+ :event_source,
1050
+ :actions)
764
1051
  SENSITIVE = []
765
1052
  include Aws::Structure
766
1053
  end
@@ -828,7 +1115,7 @@ module Aws::DLM
828
1115
  include Aws::Structure
829
1116
  end
830
1117
 
831
- # Specifies a backup schedule.
1118
+ # Specifies a backup schedule for a snapshot or AMI lifecycle policy.
832
1119
  #
833
1120
  # @note When making an API call, you may pass Schedule
834
1121
  # data as a hash:
@@ -877,6 +1164,13 @@ module Aws::DLM
877
1164
  # },
878
1165
  # },
879
1166
  # ],
1167
+ # share_rules: [
1168
+ # {
1169
+ # target_accounts: ["AwsAccountId"], # required
1170
+ # unshare_interval: 1,
1171
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1172
+ # },
1173
+ # ],
880
1174
  # }
881
1175
  #
882
1176
  # @!attribute [rw] name
@@ -917,6 +1211,10 @@ module Aws::DLM
917
1211
  # The rule for cross-Region snapshot copies.
918
1212
  # @return [Array<Types::CrossRegionCopyRule>]
919
1213
  #
1214
+ # @!attribute [rw] share_rules
1215
+ # The rule for sharing snapshots with other AWS accounts.
1216
+ # @return [Array<Types::ShareRule>]
1217
+ #
920
1218
  # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Schedule AWS API Documentation
921
1219
  #
922
1220
  class Schedule < Struct.new(
@@ -927,7 +1225,42 @@ module Aws::DLM
927
1225
  :create_rule,
928
1226
  :retain_rule,
929
1227
  :fast_restore_rule,
930
- :cross_region_copy_rules)
1228
+ :cross_region_copy_rules,
1229
+ :share_rules)
1230
+ SENSITIVE = []
1231
+ include Aws::Structure
1232
+ end
1233
+
1234
+ # Specifies a rule for sharing snapshots across AWS accounts.
1235
+ #
1236
+ # @note When making an API call, you may pass ShareRule
1237
+ # data as a hash:
1238
+ #
1239
+ # {
1240
+ # target_accounts: ["AwsAccountId"], # required
1241
+ # unshare_interval: 1,
1242
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1243
+ # }
1244
+ #
1245
+ # @!attribute [rw] target_accounts
1246
+ # The IDs of the AWS accounts with which to share the snapshots.
1247
+ # @return [Array<String>]
1248
+ #
1249
+ # @!attribute [rw] unshare_interval
1250
+ # The period after which snapshots that are shared with other AWS
1251
+ # accounts are automatically unshared.
1252
+ # @return [Integer]
1253
+ #
1254
+ # @!attribute [rw] unshare_interval_unit
1255
+ # The unit of time for the automatic unsharing interval.
1256
+ # @return [String]
1257
+ #
1258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/ShareRule AWS API Documentation
1259
+ #
1260
+ class ShareRule < Struct.new(
1261
+ :target_accounts,
1262
+ :unshare_interval,
1263
+ :unshare_interval_unit)
931
1264
  SENSITIVE = []
932
1265
  include Aws::Structure
933
1266
  end
@@ -1028,7 +1361,7 @@ module Aws::DLM
1028
1361
  # state: "ENABLED", # accepts ENABLED, DISABLED
1029
1362
  # description: "PolicyDescription",
1030
1363
  # policy_details: {
1031
- # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT
1364
+ # policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
1032
1365
  # resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
1033
1366
  # target_tags: [
1034
1367
  # {
@@ -1081,12 +1414,45 @@ module Aws::DLM
1081
1414
  # },
1082
1415
  # },
1083
1416
  # ],
1417
+ # share_rules: [
1418
+ # {
1419
+ # target_accounts: ["AwsAccountId"], # required
1420
+ # unshare_interval: 1,
1421
+ # unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1422
+ # },
1423
+ # ],
1084
1424
  # },
1085
1425
  # ],
1086
1426
  # parameters: {
1087
1427
  # exclude_boot_volume: false,
1088
1428
  # no_reboot: false,
1089
1429
  # },
1430
+ # event_source: {
1431
+ # type: "MANAGED_CWE", # required, accepts MANAGED_CWE
1432
+ # parameters: {
1433
+ # event_type: "shareSnapshot", # required, accepts shareSnapshot
1434
+ # snapshot_owner: ["AwsAccountId"], # required
1435
+ # description_regex: "DescriptionRegex", # required
1436
+ # },
1437
+ # },
1438
+ # actions: [
1439
+ # {
1440
+ # name: "ActionName", # required
1441
+ # cross_region_copy: [ # required
1442
+ # {
1443
+ # target: "Target", # required
1444
+ # encryption_configuration: { # required
1445
+ # encrypted: false, # required
1446
+ # cmk_arn: "CmkArn",
1447
+ # },
1448
+ # retain_rule: {
1449
+ # interval: 1,
1450
+ # interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1451
+ # },
1452
+ # },
1453
+ # ],
1454
+ # },
1455
+ # ],
1090
1456
  # },
1091
1457
  # }
1092
1458
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-dlm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.36.0
4
+ version: 1.37.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: 2020-11-06 00:00:00.000000000 Z
11
+ date: 2020-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core