aws-sdk-dlm 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,233 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::DLM
9
+ # @api private
10
+ module ClientApi
11
+
12
+ include Seahorse::Model
13
+
14
+ Count = Shapes::IntegerShape.new(name: 'Count')
15
+ CreateLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'CreateLifecyclePolicyRequest')
16
+ CreateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'CreateLifecyclePolicyResponse')
17
+ CreateRule = Shapes::StructureShape.new(name: 'CreateRule')
18
+ DeleteLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyRequest')
19
+ DeleteLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyResponse')
20
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
21
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
22
+ ExecutionRoleArn = Shapes::StringShape.new(name: 'ExecutionRoleArn')
23
+ GetLifecyclePoliciesRequest = Shapes::StructureShape.new(name: 'GetLifecyclePoliciesRequest')
24
+ GetLifecyclePoliciesResponse = Shapes::StructureShape.new(name: 'GetLifecyclePoliciesResponse')
25
+ GetLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'GetLifecyclePolicyRequest')
26
+ GetLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'GetLifecyclePolicyResponse')
27
+ GettablePolicyStateValues = Shapes::StringShape.new(name: 'GettablePolicyStateValues')
28
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
29
+ Interval = Shapes::IntegerShape.new(name: 'Interval')
30
+ IntervalUnitValues = Shapes::StringShape.new(name: 'IntervalUnitValues')
31
+ InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
32
+ LifecyclePolicy = Shapes::StructureShape.new(name: 'LifecyclePolicy')
33
+ LifecyclePolicySummary = Shapes::StructureShape.new(name: 'LifecyclePolicySummary')
34
+ LifecyclePolicySummaryList = Shapes::ListShape.new(name: 'LifecyclePolicySummaryList')
35
+ LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
36
+ Parameter = Shapes::StringShape.new(name: 'Parameter')
37
+ ParameterList = Shapes::ListShape.new(name: 'ParameterList')
38
+ PolicyDescription = Shapes::StringShape.new(name: 'PolicyDescription')
39
+ PolicyDetails = Shapes::StructureShape.new(name: 'PolicyDetails')
40
+ PolicyId = Shapes::StringShape.new(name: 'PolicyId')
41
+ PolicyIdList = Shapes::ListShape.new(name: 'PolicyIdList')
42
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
43
+ ResourceTypeValues = Shapes::StringShape.new(name: 'ResourceTypeValues')
44
+ ResourceTypeValuesList = Shapes::ListShape.new(name: 'ResourceTypeValuesList')
45
+ RetainRule = Shapes::StructureShape.new(name: 'RetainRule')
46
+ Schedule = Shapes::StructureShape.new(name: 'Schedule')
47
+ ScheduleList = Shapes::ListShape.new(name: 'ScheduleList')
48
+ ScheduleName = Shapes::StringShape.new(name: 'ScheduleName')
49
+ SettablePolicyStateValues = Shapes::StringShape.new(name: 'SettablePolicyStateValues')
50
+ String = Shapes::StringShape.new(name: 'String')
51
+ Tag = Shapes::StructureShape.new(name: 'Tag')
52
+ TagFilter = Shapes::StringShape.new(name: 'TagFilter')
53
+ TagsToAddFilterList = Shapes::ListShape.new(name: 'TagsToAddFilterList')
54
+ TagsToAddList = Shapes::ListShape.new(name: 'TagsToAddList')
55
+ TargetTagList = Shapes::ListShape.new(name: 'TargetTagList')
56
+ TargetTagsFilterList = Shapes::ListShape.new(name: 'TargetTagsFilterList')
57
+ Time = Shapes::StringShape.new(name: 'Time')
58
+ TimesList = Shapes::ListShape.new(name: 'TimesList')
59
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
60
+ UpdateLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'UpdateLifecyclePolicyRequest')
61
+ UpdateLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'UpdateLifecyclePolicyResponse')
62
+
63
+ CreateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, required: true, location_name: "ExecutionRoleArn"))
64
+ CreateLifecyclePolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, required: true, location_name: "Description"))
65
+ CreateLifecyclePolicyRequest.add_member(:state, Shapes::ShapeRef.new(shape: SettablePolicyStateValues, required: true, location_name: "State"))
66
+ CreateLifecyclePolicyRequest.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, required: true, location_name: "PolicyDetails"))
67
+ CreateLifecyclePolicyRequest.struct_class = Types::CreateLifecyclePolicyRequest
68
+
69
+ CreateLifecyclePolicyResponse.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
70
+ CreateLifecyclePolicyResponse.struct_class = Types::CreateLifecyclePolicyResponse
71
+
72
+ CreateRule.add_member(:interval, Shapes::ShapeRef.new(shape: Interval, required: true, location_name: "Interval"))
73
+ CreateRule.add_member(:interval_unit, Shapes::ShapeRef.new(shape: IntervalUnitValues, required: true, location_name: "IntervalUnit"))
74
+ CreateRule.add_member(:times, Shapes::ShapeRef.new(shape: TimesList, location_name: "Times"))
75
+ CreateRule.struct_class = Types::CreateRule
76
+
77
+ DeleteLifecyclePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location: "uri", location_name: "policyId"))
78
+ DeleteLifecyclePolicyRequest.struct_class = Types::DeleteLifecyclePolicyRequest
79
+
80
+ DeleteLifecyclePolicyResponse.struct_class = Types::DeleteLifecyclePolicyResponse
81
+
82
+ GetLifecyclePoliciesRequest.add_member(:policy_ids, Shapes::ShapeRef.new(shape: PolicyIdList, location: "querystring", location_name: "policyIds"))
83
+ GetLifecyclePoliciesRequest.add_member(:state, Shapes::ShapeRef.new(shape: GettablePolicyStateValues, location: "querystring", location_name: "state"))
84
+ GetLifecyclePoliciesRequest.add_member(:resource_types, Shapes::ShapeRef.new(shape: ResourceTypeValuesList, location: "querystring", location_name: "resourceTypes"))
85
+ GetLifecyclePoliciesRequest.add_member(:target_tags, Shapes::ShapeRef.new(shape: TargetTagsFilterList, location: "querystring", location_name: "targetTags"))
86
+ GetLifecyclePoliciesRequest.add_member(:tags_to_add, Shapes::ShapeRef.new(shape: TagsToAddFilterList, location: "querystring", location_name: "tagsToAdd"))
87
+ GetLifecyclePoliciesRequest.struct_class = Types::GetLifecyclePoliciesRequest
88
+
89
+ GetLifecyclePoliciesResponse.add_member(:policies, Shapes::ShapeRef.new(shape: LifecyclePolicySummaryList, location_name: "Policies"))
90
+ GetLifecyclePoliciesResponse.struct_class = Types::GetLifecyclePoliciesResponse
91
+
92
+ GetLifecyclePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location: "uri", location_name: "policyId"))
93
+ GetLifecyclePolicyRequest.struct_class = Types::GetLifecyclePolicyRequest
94
+
95
+ GetLifecyclePolicyResponse.add_member(:policy, Shapes::ShapeRef.new(shape: LifecyclePolicy, location_name: "Policy"))
96
+ GetLifecyclePolicyResponse.struct_class = Types::GetLifecyclePolicyResponse
97
+
98
+ LifecyclePolicy.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
99
+ LifecyclePolicy.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
100
+ LifecyclePolicy.add_member(:state, Shapes::ShapeRef.new(shape: GettablePolicyStateValues, location_name: "State"))
101
+ LifecyclePolicy.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, location_name: "ExecutionRoleArn"))
102
+ LifecyclePolicy.add_member(:date_created, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateCreated"))
103
+ LifecyclePolicy.add_member(:date_modified, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateModified"))
104
+ LifecyclePolicy.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, location_name: "PolicyDetails"))
105
+ LifecyclePolicy.struct_class = Types::LifecyclePolicy
106
+
107
+ LifecyclePolicySummary.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
108
+ LifecyclePolicySummary.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
109
+ LifecyclePolicySummary.add_member(:state, Shapes::ShapeRef.new(shape: GettablePolicyStateValues, location_name: "State"))
110
+ LifecyclePolicySummary.struct_class = Types::LifecyclePolicySummary
111
+
112
+ LifecyclePolicySummaryList.member = Shapes::ShapeRef.new(shape: LifecyclePolicySummary)
113
+
114
+ ParameterList.member = Shapes::ShapeRef.new(shape: Parameter)
115
+
116
+ PolicyDetails.add_member(:resource_types, Shapes::ShapeRef.new(shape: ResourceTypeValuesList, location_name: "ResourceTypes"))
117
+ PolicyDetails.add_member(:target_tags, Shapes::ShapeRef.new(shape: TargetTagList, location_name: "TargetTags"))
118
+ PolicyDetails.add_member(:schedules, Shapes::ShapeRef.new(shape: ScheduleList, location_name: "Schedules"))
119
+ PolicyDetails.struct_class = Types::PolicyDetails
120
+
121
+ PolicyIdList.member = Shapes::ShapeRef.new(shape: PolicyId)
122
+
123
+ ResourceTypeValuesList.member = Shapes::ShapeRef.new(shape: ResourceTypeValues)
124
+
125
+ RetainRule.add_member(:count, Shapes::ShapeRef.new(shape: Count, required: true, location_name: "Count"))
126
+ RetainRule.struct_class = Types::RetainRule
127
+
128
+ Schedule.add_member(:name, Shapes::ShapeRef.new(shape: ScheduleName, location_name: "Name"))
129
+ Schedule.add_member(:tags_to_add, Shapes::ShapeRef.new(shape: TagsToAddList, location_name: "TagsToAdd"))
130
+ Schedule.add_member(:create_rule, Shapes::ShapeRef.new(shape: CreateRule, location_name: "CreateRule"))
131
+ Schedule.add_member(:retain_rule, Shapes::ShapeRef.new(shape: RetainRule, location_name: "RetainRule"))
132
+ Schedule.struct_class = Types::Schedule
133
+
134
+ ScheduleList.member = Shapes::ShapeRef.new(shape: Schedule)
135
+
136
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Key"))
137
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Value"))
138
+ Tag.struct_class = Types::Tag
139
+
140
+ TagsToAddFilterList.member = Shapes::ShapeRef.new(shape: TagFilter)
141
+
142
+ TagsToAddList.member = Shapes::ShapeRef.new(shape: Tag)
143
+
144
+ TargetTagList.member = Shapes::ShapeRef.new(shape: Tag)
145
+
146
+ TargetTagsFilterList.member = Shapes::ShapeRef.new(shape: TagFilter)
147
+
148
+ TimesList.member = Shapes::ShapeRef.new(shape: Time)
149
+
150
+ UpdateLifecyclePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location: "uri", location_name: "policyId"))
151
+ UpdateLifecyclePolicyRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ExecutionRoleArn, location_name: "ExecutionRoleArn"))
152
+ UpdateLifecyclePolicyRequest.add_member(:state, Shapes::ShapeRef.new(shape: SettablePolicyStateValues, location_name: "State"))
153
+ UpdateLifecyclePolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
154
+ UpdateLifecyclePolicyRequest.add_member(:policy_details, Shapes::ShapeRef.new(shape: PolicyDetails, location_name: "PolicyDetails"))
155
+ UpdateLifecyclePolicyRequest.struct_class = Types::UpdateLifecyclePolicyRequest
156
+
157
+ UpdateLifecyclePolicyResponse.struct_class = Types::UpdateLifecyclePolicyResponse
158
+
159
+
160
+ # @api private
161
+ API = Seahorse::Model::Api.new.tap do |api|
162
+
163
+ api.version = "2018-01-12"
164
+
165
+ api.metadata = {
166
+ "endpointPrefix" => "dlm",
167
+ "jsonVersion" => "1.1",
168
+ "protocol" => "rest-json",
169
+ "serviceFullName" => "Amazon Data Lifecycle Manager",
170
+ "signatureVersion" => "v4",
171
+ "signingName" => "dlm",
172
+ }
173
+
174
+ api.add_operation(:create_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
175
+ o.name = "CreateLifecyclePolicy"
176
+ o.http_method = "POST"
177
+ o.http_request_uri = "/policies"
178
+ o.input = Shapes::ShapeRef.new(shape: CreateLifecyclePolicyRequest)
179
+ o.output = Shapes::ShapeRef.new(shape: CreateLifecyclePolicyResponse)
180
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
181
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
182
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
183
+ end)
184
+
185
+ api.add_operation(:delete_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
186
+ o.name = "DeleteLifecyclePolicy"
187
+ o.http_method = "DELETE"
188
+ o.http_request_uri = "/policies/{policyId}/"
189
+ o.input = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyRequest)
190
+ o.output = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyResponse)
191
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
192
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
193
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
194
+ end)
195
+
196
+ api.add_operation(:get_lifecycle_policies, Seahorse::Model::Operation.new.tap do |o|
197
+ o.name = "GetLifecyclePolicies"
198
+ o.http_method = "GET"
199
+ o.http_request_uri = "/policies"
200
+ o.input = Shapes::ShapeRef.new(shape: GetLifecyclePoliciesRequest)
201
+ o.output = Shapes::ShapeRef.new(shape: GetLifecyclePoliciesResponse)
202
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
203
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
204
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
205
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
206
+ end)
207
+
208
+ api.add_operation(:get_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
209
+ o.name = "GetLifecyclePolicy"
210
+ o.http_method = "GET"
211
+ o.http_request_uri = "/policies/{policyId}/"
212
+ o.input = Shapes::ShapeRef.new(shape: GetLifecyclePolicyRequest)
213
+ o.output = Shapes::ShapeRef.new(shape: GetLifecyclePolicyResponse)
214
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
215
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
216
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
217
+ end)
218
+
219
+ api.add_operation(:update_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
220
+ o.name = "UpdateLifecyclePolicy"
221
+ o.http_method = "PATCH"
222
+ o.http_request_uri = "/policies/{policyId}"
223
+ o.input = Shapes::ShapeRef.new(shape: UpdateLifecyclePolicyRequest)
224
+ o.output = Shapes::ShapeRef.new(shape: UpdateLifecyclePolicyResponse)
225
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
226
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
227
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
228
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
229
+ end)
230
+ end
231
+
232
+ end
233
+ end
File without changes
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::DLM
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::DLM
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,530 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::DLM
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass CreateLifecyclePolicyRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # execution_role_arn: "ExecutionRoleArn", # required
16
+ # description: "PolicyDescription", # required
17
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
18
+ # policy_details: { # required
19
+ # resource_types: ["VOLUME"], # accepts VOLUME
20
+ # target_tags: [
21
+ # {
22
+ # key: "String", # required
23
+ # value: "String", # required
24
+ # },
25
+ # ],
26
+ # schedules: [
27
+ # {
28
+ # name: "ScheduleName",
29
+ # tags_to_add: [
30
+ # {
31
+ # key: "String", # required
32
+ # value: "String", # required
33
+ # },
34
+ # ],
35
+ # create_rule: {
36
+ # interval: 1, # required
37
+ # interval_unit: "HOURS", # required, accepts HOURS
38
+ # times: ["Time"],
39
+ # },
40
+ # retain_rule: {
41
+ # count: 1, # required
42
+ # },
43
+ # },
44
+ # ],
45
+ # },
46
+ # }
47
+ #
48
+ # @!attribute [rw] execution_role_arn
49
+ # The Amazon Resource Name (ARN) of the IAM role used to run the
50
+ # operations specified by the lifecycle policy.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] description
54
+ # A description of the lifecycle policy. The characters ^\[0-9A-Za-z
55
+ # \_-\]+$ are supported.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] state
59
+ # The desired activation state of the lifecycle policy after creation.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] policy_details
63
+ # The configuration of the lifecycle policy.
64
+ #
65
+ # Target tags cannot be re-used across lifecycle policies.
66
+ # @return [Types::PolicyDetails]
67
+ #
68
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicyRequest AWS API Documentation
69
+ #
70
+ class CreateLifecyclePolicyRequest < Struct.new(
71
+ :execution_role_arn,
72
+ :description,
73
+ :state,
74
+ :policy_details)
75
+ include Aws::Structure
76
+ end
77
+
78
+ # @!attribute [rw] policy_id
79
+ # The identifier of the lifecycle policy.
80
+ # @return [String]
81
+ #
82
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicyResponse AWS API Documentation
83
+ #
84
+ class CreateLifecyclePolicyResponse < Struct.new(
85
+ :policy_id)
86
+ include Aws::Structure
87
+ end
88
+
89
+ # Specifies when to create snapshots of EBS volumes.
90
+ #
91
+ # @note When making an API call, you may pass CreateRule
92
+ # data as a hash:
93
+ #
94
+ # {
95
+ # interval: 1, # required
96
+ # interval_unit: "HOURS", # required, accepts HOURS
97
+ # times: ["Time"],
98
+ # }
99
+ #
100
+ # @!attribute [rw] interval
101
+ # The interval. The supported values are 12 and 24.
102
+ # @return [Integer]
103
+ #
104
+ # @!attribute [rw] interval_unit
105
+ # The interval unit.
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] times
109
+ # The time, in UTC, to start the operation.
110
+ #
111
+ # The operation occurs within a one-hour window following the
112
+ # specified time.
113
+ # @return [Array<String>]
114
+ #
115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateRule AWS API Documentation
116
+ #
117
+ class CreateRule < Struct.new(
118
+ :interval,
119
+ :interval_unit,
120
+ :times)
121
+ include Aws::Structure
122
+ end
123
+
124
+ # @note When making an API call, you may pass DeleteLifecyclePolicyRequest
125
+ # data as a hash:
126
+ #
127
+ # {
128
+ # policy_id: "PolicyId", # required
129
+ # }
130
+ #
131
+ # @!attribute [rw] policy_id
132
+ # The identifier of the lifecycle policy.
133
+ # @return [String]
134
+ #
135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/DeleteLifecyclePolicyRequest AWS API Documentation
136
+ #
137
+ class DeleteLifecyclePolicyRequest < Struct.new(
138
+ :policy_id)
139
+ include Aws::Structure
140
+ end
141
+
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/DeleteLifecyclePolicyResponse AWS API Documentation
143
+ #
144
+ class DeleteLifecyclePolicyResponse < Aws::EmptyStructure; end
145
+
146
+ # @note When making an API call, you may pass GetLifecyclePoliciesRequest
147
+ # data as a hash:
148
+ #
149
+ # {
150
+ # policy_ids: ["PolicyId"],
151
+ # state: "ENABLED", # accepts ENABLED, DISABLED, ERROR
152
+ # resource_types: ["VOLUME"], # accepts VOLUME
153
+ # target_tags: ["TagFilter"],
154
+ # tags_to_add: ["TagFilter"],
155
+ # }
156
+ #
157
+ # @!attribute [rw] policy_ids
158
+ # The identifiers of the data lifecycle policies.
159
+ # @return [Array<String>]
160
+ #
161
+ # @!attribute [rw] state
162
+ # The activation state.
163
+ # @return [String]
164
+ #
165
+ # @!attribute [rw] resource_types
166
+ # The resource type.
167
+ # @return [Array<String>]
168
+ #
169
+ # @!attribute [rw] target_tags
170
+ # The target tags.
171
+ #
172
+ # Tags are strings in the format `key:value`.
173
+ # @return [Array<String>]
174
+ #
175
+ # @!attribute [rw] tags_to_add
176
+ # The tags to add to the resources.
177
+ #
178
+ # Tags are strings in the format `key:value`.
179
+ #
180
+ # These tags are added in addition to the AWS-added lifecycle tags.
181
+ # @return [Array<String>]
182
+ #
183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePoliciesRequest AWS API Documentation
184
+ #
185
+ class GetLifecyclePoliciesRequest < Struct.new(
186
+ :policy_ids,
187
+ :state,
188
+ :resource_types,
189
+ :target_tags,
190
+ :tags_to_add)
191
+ include Aws::Structure
192
+ end
193
+
194
+ # @!attribute [rw] policies
195
+ # Summary information about the lifecycle policies.
196
+ # @return [Array<Types::LifecyclePolicySummary>]
197
+ #
198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePoliciesResponse AWS API Documentation
199
+ #
200
+ class GetLifecyclePoliciesResponse < Struct.new(
201
+ :policies)
202
+ include Aws::Structure
203
+ end
204
+
205
+ # @note When making an API call, you may pass GetLifecyclePolicyRequest
206
+ # data as a hash:
207
+ #
208
+ # {
209
+ # policy_id: "PolicyId", # required
210
+ # }
211
+ #
212
+ # @!attribute [rw] policy_id
213
+ # The identifier of the lifecycle policy.
214
+ # @return [String]
215
+ #
216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicyRequest AWS API Documentation
217
+ #
218
+ class GetLifecyclePolicyRequest < Struct.new(
219
+ :policy_id)
220
+ include Aws::Structure
221
+ end
222
+
223
+ # @!attribute [rw] policy
224
+ # Detailed information about the lifecycle policy.
225
+ # @return [Types::LifecyclePolicy]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicyResponse AWS API Documentation
228
+ #
229
+ class GetLifecyclePolicyResponse < Struct.new(
230
+ :policy)
231
+ include Aws::Structure
232
+ end
233
+
234
+ # Detailed information about a lifecycle policy.
235
+ #
236
+ # @!attribute [rw] policy_id
237
+ # The identifier of the lifecycle policy.
238
+ # @return [String]
239
+ #
240
+ # @!attribute [rw] description
241
+ # The description of the lifecycle policy.
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] state
245
+ # The activation state of the lifecycle policy.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] execution_role_arn
249
+ # The Amazon Resource Name (ARN) of the IAM role used to run the
250
+ # operations specified by the lifecycle policy.
251
+ # @return [String]
252
+ #
253
+ # @!attribute [rw] date_created
254
+ # The local date and time when the lifecycle policy was created.
255
+ # @return [Time]
256
+ #
257
+ # @!attribute [rw] date_modified
258
+ # The local date and time when the lifecycle policy was last modified.
259
+ # @return [Time]
260
+ #
261
+ # @!attribute [rw] policy_details
262
+ # The configuration of the lifecycle policy
263
+ # @return [Types::PolicyDetails]
264
+ #
265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/LifecyclePolicy AWS API Documentation
266
+ #
267
+ class LifecyclePolicy < Struct.new(
268
+ :policy_id,
269
+ :description,
270
+ :state,
271
+ :execution_role_arn,
272
+ :date_created,
273
+ :date_modified,
274
+ :policy_details)
275
+ include Aws::Structure
276
+ end
277
+
278
+ # Summary information about a lifecycle policy.
279
+ #
280
+ # @!attribute [rw] policy_id
281
+ # The identifier of the lifecycle policy.
282
+ # @return [String]
283
+ #
284
+ # @!attribute [rw] description
285
+ # The description of the lifecycle policy.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] state
289
+ # The activation state of the lifecycle policy.
290
+ # @return [String]
291
+ #
292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/LifecyclePolicySummary AWS API Documentation
293
+ #
294
+ class LifecyclePolicySummary < Struct.new(
295
+ :policy_id,
296
+ :description,
297
+ :state)
298
+ include Aws::Structure
299
+ end
300
+
301
+ # Specifies the configuration of a lifecycle policy.
302
+ #
303
+ # @note When making an API call, you may pass PolicyDetails
304
+ # data as a hash:
305
+ #
306
+ # {
307
+ # resource_types: ["VOLUME"], # accepts VOLUME
308
+ # target_tags: [
309
+ # {
310
+ # key: "String", # required
311
+ # value: "String", # required
312
+ # },
313
+ # ],
314
+ # schedules: [
315
+ # {
316
+ # name: "ScheduleName",
317
+ # tags_to_add: [
318
+ # {
319
+ # key: "String", # required
320
+ # value: "String", # required
321
+ # },
322
+ # ],
323
+ # create_rule: {
324
+ # interval: 1, # required
325
+ # interval_unit: "HOURS", # required, accepts HOURS
326
+ # times: ["Time"],
327
+ # },
328
+ # retain_rule: {
329
+ # count: 1, # required
330
+ # },
331
+ # },
332
+ # ],
333
+ # }
334
+ #
335
+ # @!attribute [rw] resource_types
336
+ # The resource type.
337
+ # @return [Array<String>]
338
+ #
339
+ # @!attribute [rw] target_tags
340
+ # The target tags.
341
+ # @return [Array<Types::Tag>]
342
+ #
343
+ # @!attribute [rw] schedules
344
+ # The schedule.
345
+ # @return [Array<Types::Schedule>]
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/PolicyDetails AWS API Documentation
348
+ #
349
+ class PolicyDetails < Struct.new(
350
+ :resource_types,
351
+ :target_tags,
352
+ :schedules)
353
+ include Aws::Structure
354
+ end
355
+
356
+ # Specifies the number of snapshots to keep for each EBS volume.
357
+ #
358
+ # @note When making an API call, you may pass RetainRule
359
+ # data as a hash:
360
+ #
361
+ # {
362
+ # count: 1, # required
363
+ # }
364
+ #
365
+ # @!attribute [rw] count
366
+ # The number of snapshots to keep for each volume, up to a maximum of
367
+ # 1000.
368
+ # @return [Integer]
369
+ #
370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/RetainRule AWS API Documentation
371
+ #
372
+ class RetainRule < Struct.new(
373
+ :count)
374
+ include Aws::Structure
375
+ end
376
+
377
+ # Specifies a schedule.
378
+ #
379
+ # @note When making an API call, you may pass Schedule
380
+ # data as a hash:
381
+ #
382
+ # {
383
+ # name: "ScheduleName",
384
+ # tags_to_add: [
385
+ # {
386
+ # key: "String", # required
387
+ # value: "String", # required
388
+ # },
389
+ # ],
390
+ # create_rule: {
391
+ # interval: 1, # required
392
+ # interval_unit: "HOURS", # required, accepts HOURS
393
+ # times: ["Time"],
394
+ # },
395
+ # retain_rule: {
396
+ # count: 1, # required
397
+ # },
398
+ # }
399
+ #
400
+ # @!attribute [rw] name
401
+ # The name of the schedule.
402
+ # @return [String]
403
+ #
404
+ # @!attribute [rw] tags_to_add
405
+ # The tags to add to policy-created resources. These tags are added in
406
+ # addition to the default lifecycle tags.
407
+ # @return [Array<Types::Tag>]
408
+ #
409
+ # @!attribute [rw] create_rule
410
+ # The create rule.
411
+ # @return [Types::CreateRule]
412
+ #
413
+ # @!attribute [rw] retain_rule
414
+ # The retain rule.
415
+ # @return [Types::RetainRule]
416
+ #
417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Schedule AWS API Documentation
418
+ #
419
+ class Schedule < Struct.new(
420
+ :name,
421
+ :tags_to_add,
422
+ :create_rule,
423
+ :retain_rule)
424
+ include Aws::Structure
425
+ end
426
+
427
+ # Specifies a tag for a resource.
428
+ #
429
+ # @note When making an API call, you may pass Tag
430
+ # data as a hash:
431
+ #
432
+ # {
433
+ # key: "String", # required
434
+ # value: "String", # required
435
+ # }
436
+ #
437
+ # @!attribute [rw] key
438
+ # The tag key.
439
+ # @return [String]
440
+ #
441
+ # @!attribute [rw] value
442
+ # The tag value.
443
+ # @return [String]
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/Tag AWS API Documentation
446
+ #
447
+ class Tag < Struct.new(
448
+ :key,
449
+ :value)
450
+ include Aws::Structure
451
+ end
452
+
453
+ # @note When making an API call, you may pass UpdateLifecyclePolicyRequest
454
+ # data as a hash:
455
+ #
456
+ # {
457
+ # policy_id: "PolicyId", # required
458
+ # execution_role_arn: "ExecutionRoleArn",
459
+ # state: "ENABLED", # accepts ENABLED, DISABLED
460
+ # description: "PolicyDescription",
461
+ # policy_details: {
462
+ # resource_types: ["VOLUME"], # accepts VOLUME
463
+ # target_tags: [
464
+ # {
465
+ # key: "String", # required
466
+ # value: "String", # required
467
+ # },
468
+ # ],
469
+ # schedules: [
470
+ # {
471
+ # name: "ScheduleName",
472
+ # tags_to_add: [
473
+ # {
474
+ # key: "String", # required
475
+ # value: "String", # required
476
+ # },
477
+ # ],
478
+ # create_rule: {
479
+ # interval: 1, # required
480
+ # interval_unit: "HOURS", # required, accepts HOURS
481
+ # times: ["Time"],
482
+ # },
483
+ # retain_rule: {
484
+ # count: 1, # required
485
+ # },
486
+ # },
487
+ # ],
488
+ # },
489
+ # }
490
+ #
491
+ # @!attribute [rw] policy_id
492
+ # The identifier of the lifecycle policy.
493
+ # @return [String]
494
+ #
495
+ # @!attribute [rw] execution_role_arn
496
+ # The Amazon Resource Name (ARN) of the IAM role used to run the
497
+ # operations specified by the lifecycle policy.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] state
501
+ # The desired activation state of the lifecycle policy after creation.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] description
505
+ # A description of the lifecycle policy.
506
+ # @return [String]
507
+ #
508
+ # @!attribute [rw] policy_details
509
+ # The configuration of the lifecycle policy.
510
+ #
511
+ # Target tags cannot be re-used across policies.
512
+ # @return [Types::PolicyDetails]
513
+ #
514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/UpdateLifecyclePolicyRequest AWS API Documentation
515
+ #
516
+ class UpdateLifecyclePolicyRequest < Struct.new(
517
+ :policy_id,
518
+ :execution_role_arn,
519
+ :state,
520
+ :description,
521
+ :policy_details)
522
+ include Aws::Structure
523
+ end
524
+
525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/UpdateLifecyclePolicyResponse AWS API Documentation
526
+ #
527
+ class UpdateLifecyclePolicyResponse < Aws::EmptyStructure; end
528
+
529
+ end
530
+ end