aws-sdk-dlm 1.36.0 → 1.37.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: 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