aws-sdk-dlm 1.0.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.
@@ -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