2018-08-16 08:01:54 +02:00
{
"version" : "2.0" ,
"metadata" : {
"apiVersion" : "2018-01-12" ,
"endpointPrefix" : "dlm" ,
"jsonVersion" : "1.1" ,
"protocol" : "rest-json" ,
"serviceAbbreviation" : "Amazon DLM" ,
"serviceFullName" : "Amazon Data Lifecycle Manager" ,
"serviceId" : "DLM" ,
"signatureVersion" : "v4" ,
"signingName" : "dlm" ,
"uid" : "dlm-2018-01-12"
} ,
"operations" : {
"CreateLifecyclePolicy" : {
"name" : "CreateLifecyclePolicy" ,
"http" : {
"method" : "POST" ,
"requestUri" : "/policies"
} ,
"input" : { "shape" : "CreateLifecyclePolicyRequest" } ,
"output" : { "shape" : "CreateLifecyclePolicyResponse" } ,
"errors" : [
{ "shape" : "InvalidRequestException" } ,
{ "shape" : "LimitExceededException" } ,
{ "shape" : "InternalServerException" }
] ,
"documentation" : "<p>Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.</p>"
} ,
"DeleteLifecyclePolicy" : {
"name" : "DeleteLifecyclePolicy" ,
"http" : {
"method" : "DELETE" ,
"requestUri" : "/policies/{policyId}/"
} ,
"input" : { "shape" : "DeleteLifecyclePolicyRequest" } ,
"output" : { "shape" : "DeleteLifecyclePolicyResponse" } ,
"errors" : [
{ "shape" : "ResourceNotFoundException" } ,
{ "shape" : "InternalServerException" } ,
{ "shape" : "LimitExceededException" }
] ,
"documentation" : "<p>Deletes the specified lifecycle policy and halts the automated operations that the policy specified.</p>"
} ,
"GetLifecyclePolicies" : {
"name" : "GetLifecyclePolicies" ,
"http" : {
"method" : "GET" ,
"requestUri" : "/policies"
} ,
"input" : { "shape" : "GetLifecyclePoliciesRequest" } ,
"output" : { "shape" : "GetLifecyclePoliciesResponse" } ,
"errors" : [
{ "shape" : "ResourceNotFoundException" } ,
{ "shape" : "InvalidRequestException" } ,
{ "shape" : "InternalServerException" } ,
{ "shape" : "LimitExceededException" }
] ,
"documentation" : "<p>Gets summary information about all or the specified data lifecycle policies.</p> <p>To get complete information about a policy, use <a>GetLifecyclePolicy</a>.</p>"
} ,
"GetLifecyclePolicy" : {
"name" : "GetLifecyclePolicy" ,
"http" : {
"method" : "GET" ,
"requestUri" : "/policies/{policyId}/"
} ,
"input" : { "shape" : "GetLifecyclePolicyRequest" } ,
"output" : { "shape" : "GetLifecyclePolicyResponse" } ,
"errors" : [
{ "shape" : "ResourceNotFoundException" } ,
{ "shape" : "InternalServerException" } ,
{ "shape" : "LimitExceededException" }
] ,
"documentation" : "<p>Gets detailed information about the specified lifecycle policy.</p>"
} ,
"UpdateLifecyclePolicy" : {
"name" : "UpdateLifecyclePolicy" ,
"http" : {
"method" : "PATCH" ,
"requestUri" : "/policies/{policyId}"
} ,
"input" : { "shape" : "UpdateLifecyclePolicyRequest" } ,
"output" : { "shape" : "UpdateLifecyclePolicyResponse" } ,
"errors" : [
{ "shape" : "ResourceNotFoundException" } ,
{ "shape" : "InvalidRequestException" } ,
{ "shape" : "InternalServerException" } ,
{ "shape" : "LimitExceededException" }
] ,
"documentation" : "<p>Updates the specified lifecycle policy.</p>"
}
} ,
"shapes" : {
2018-11-28 09:58:03 +01:00
"CopyTags" : { "type" : "boolean" } ,
2018-08-16 08:01:54 +02:00
"Count" : {
"type" : "integer" ,
"max" : 1000 ,
"min" : 1
} ,
"CreateLifecyclePolicyRequest" : {
"type" : "structure" ,
"required" : [
"ExecutionRoleArn" ,
"Description" ,
"State" ,
"PolicyDetails"
] ,
"members" : {
"ExecutionRoleArn" : {
"shape" : "ExecutionRoleArn" ,
"documentation" : "<p>The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.</p>"
} ,
"Description" : {
"shape" : "PolicyDescription" ,
"documentation" : "<p>A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.</p>"
} ,
"State" : {
"shape" : "SettablePolicyStateValues" ,
"documentation" : "<p>The desired activation state of the lifecycle policy after creation.</p>"
} ,
"PolicyDetails" : {
"shape" : "PolicyDetails" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The configuration details of the lifecycle policy.</p> <p>Target tags cannot be re-used across lifecycle policies.</p>"
2018-08-16 08:01:54 +02:00
}
}
} ,
"CreateLifecyclePolicyResponse" : {
"type" : "structure" ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>"
}
}
} ,
"CreateRule" : {
"type" : "structure" ,
"required" : [
"Interval" ,
"IntervalUnit"
] ,
"members" : {
"Interval" : {
"shape" : "Interval" ,
2019-08-03 07:08:36 +02:00
"documentation" : "<p>The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.</p>"
2018-08-16 08:01:54 +02:00
} ,
"IntervalUnit" : {
"shape" : "IntervalUnitValues" ,
"documentation" : "<p>The interval unit.</p>"
} ,
"Times" : {
"shape" : "TimesList" ,
2019-08-03 07:08:36 +02:00
"documentation" : "<p>The time, in UTC, to start the operation. The supported format is hh:mm.</p> <p>The operation occurs within a one-hour window following the specified time.</p>"
2018-08-16 08:01:54 +02:00
}
} ,
"documentation" : "<p>Specifies when to create snapshots of EBS volumes.</p>"
} ,
"DeleteLifecyclePolicyRequest" : {
"type" : "structure" ,
"required" : [ "PolicyId" ] ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>" ,
"location" : "uri" ,
"locationName" : "policyId"
}
}
} ,
"DeleteLifecyclePolicyResponse" : {
"type" : "structure" ,
"members" : {
}
} ,
"ErrorCode" : { "type" : "string" } ,
"ErrorMessage" : { "type" : "string" } ,
2019-08-03 07:08:36 +02:00
"ExcludeBootVolume" : { "type" : "boolean" } ,
2018-08-16 08:01:54 +02:00
"ExecutionRoleArn" : { "type" : "string" } ,
"GetLifecyclePoliciesRequest" : {
"type" : "structure" ,
"members" : {
"PolicyIds" : {
"shape" : "PolicyIdList" ,
"documentation" : "<p>The identifiers of the data lifecycle policies.</p>" ,
"location" : "querystring" ,
"locationName" : "policyIds"
} ,
"State" : {
"shape" : "GettablePolicyStateValues" ,
"documentation" : "<p>The activation state.</p>" ,
"location" : "querystring" ,
"locationName" : "state"
} ,
"ResourceTypes" : {
"shape" : "ResourceTypeValuesList" ,
"documentation" : "<p>The resource type.</p>" ,
"location" : "querystring" ,
"locationName" : "resourceTypes"
} ,
"TargetTags" : {
"shape" : "TargetTagsFilterList" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The target tag for a policy.</p> <p>Tags are strings in the format <code>key=value</code>.</p>" ,
2018-08-16 08:01:54 +02:00
"location" : "querystring" ,
"locationName" : "targetTags"
} ,
"TagsToAdd" : {
"shape" : "TagsToAddFilterList" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The tags to add to objects created by the policy.</p> <p>Tags are strings in the format <code>key=value</code>.</p> <p>These user-defined tags are added in addition to the AWS-added lifecycle tags.</p>" ,
2018-08-16 08:01:54 +02:00
"location" : "querystring" ,
"locationName" : "tagsToAdd"
}
}
} ,
"GetLifecyclePoliciesResponse" : {
"type" : "structure" ,
"members" : {
"Policies" : {
"shape" : "LifecyclePolicySummaryList" ,
"documentation" : "<p>Summary information about the lifecycle policies.</p>"
}
}
} ,
"GetLifecyclePolicyRequest" : {
"type" : "structure" ,
"required" : [ "PolicyId" ] ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>" ,
"location" : "uri" ,
"locationName" : "policyId"
}
}
} ,
"GetLifecyclePolicyResponse" : {
"type" : "structure" ,
"members" : {
"Policy" : {
"shape" : "LifecyclePolicy" ,
"documentation" : "<p>Detailed information about the lifecycle policy.</p>"
}
}
} ,
"GettablePolicyStateValues" : {
"type" : "string" ,
"enum" : [
"ENABLED" ,
"DISABLED" ,
"ERROR"
]
} ,
"InternalServerException" : {
"type" : "structure" ,
"members" : {
"Message" : { "shape" : "ErrorMessage" } ,
"Code" : { "shape" : "ErrorCode" }
} ,
"documentation" : "<p>The service failed in an unexpected way.</p>" ,
"error" : { "httpStatusCode" : 500 } ,
"exception" : true
} ,
"Interval" : {
"type" : "integer" ,
"min" : 1
} ,
"IntervalUnitValues" : {
"type" : "string" ,
"enum" : [ "HOURS" ]
} ,
"InvalidRequestException" : {
"type" : "structure" ,
"members" : {
"Message" : { "shape" : "ErrorMessage" } ,
"Code" : { "shape" : "ErrorCode" } ,
"RequiredParameters" : {
"shape" : "ParameterList" ,
"documentation" : "<p>The request omitted one or more required parameters.</p>"
} ,
"MutuallyExclusiveParameters" : {
"shape" : "ParameterList" ,
"documentation" : "<p>The request included parameters that cannot be provided together.</p>"
}
} ,
"documentation" : "<p>Bad request. The request is missing required parameters or has invalid parameters.</p>" ,
"error" : { "httpStatusCode" : 400 } ,
"exception" : true
} ,
"LifecyclePolicy" : {
"type" : "structure" ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>"
} ,
"Description" : {
"shape" : "PolicyDescription" ,
"documentation" : "<p>The description of the lifecycle policy.</p>"
} ,
"State" : {
"shape" : "GettablePolicyStateValues" ,
"documentation" : "<p>The activation state of the lifecycle policy.</p>"
} ,
"ExecutionRoleArn" : {
"shape" : "ExecutionRoleArn" ,
"documentation" : "<p>The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.</p>"
} ,
"DateCreated" : {
"shape" : "Timestamp" ,
"documentation" : "<p>The local date and time when the lifecycle policy was created.</p>"
} ,
"DateModified" : {
"shape" : "Timestamp" ,
"documentation" : "<p>The local date and time when the lifecycle policy was last modified.</p>"
} ,
"PolicyDetails" : {
"shape" : "PolicyDetails" ,
"documentation" : "<p>The configuration of the lifecycle policy</p>"
}
} ,
"documentation" : "<p>Detailed information about a lifecycle policy.</p>"
} ,
"LifecyclePolicySummary" : {
"type" : "structure" ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>"
} ,
"Description" : {
"shape" : "PolicyDescription" ,
"documentation" : "<p>The description of the lifecycle policy.</p>"
} ,
"State" : {
"shape" : "GettablePolicyStateValues" ,
"documentation" : "<p>The activation state of the lifecycle policy.</p>"
}
} ,
"documentation" : "<p>Summary information about a lifecycle policy.</p>"
} ,
"LifecyclePolicySummaryList" : {
"type" : "list" ,
"member" : { "shape" : "LifecyclePolicySummary" }
} ,
"LimitExceededException" : {
"type" : "structure" ,
"members" : {
"Message" : { "shape" : "ErrorMessage" } ,
"Code" : { "shape" : "ErrorCode" } ,
"ResourceType" : {
"shape" : "String" ,
"documentation" : "<p>Value is the type of resource for which a limit was exceeded.</p>"
}
} ,
"documentation" : "<p>The request failed because a limit was exceeded.</p>" ,
"error" : { "httpStatusCode" : 429 } ,
"exception" : true
} ,
"Parameter" : { "type" : "string" } ,
"ParameterList" : {
"type" : "list" ,
"member" : { "shape" : "Parameter" }
} ,
2019-08-03 07:08:36 +02:00
"Parameters" : {
"type" : "structure" ,
"members" : {
"ExcludeBootVolume" : {
"shape" : "ExcludeBootVolume" ,
"documentation" : "<p>When executing an EBS Snapshot Management – Instance policy, execute all CreateSnapshots calls with the <code>excludeBootVolume</code> set to the supplied field. Defaults to false. Only valid for EBS Snapshot Management – Instance policies.</p>"
}
} ,
"documentation" : "<p>Optional parameters that can be added to the policy. The set of valid parameters depends on the combination of <code>policyType</code> and <code>resourceType</code> values.</p>"
} ,
2018-08-16 08:01:54 +02:00
"PolicyDescription" : {
"type" : "string" ,
"max" : 500 ,
"min" : 0
} ,
"PolicyDetails" : {
"type" : "structure" ,
"members" : {
2019-08-03 07:08:36 +02:00
"PolicyType" : {
"shape" : "PolicyTypeValues" ,
"documentation" : "<p>This field determines the valid target resource types and actions a policy can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.</p>"
} ,
2018-08-16 08:01:54 +02:00
"ResourceTypes" : {
"shape" : "ResourceTypeValuesList" ,
"documentation" : "<p>The resource type.</p>"
} ,
"TargetTags" : {
"shape" : "TargetTagList" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The single tag that identifies targeted resources for this policy.</p>"
2018-08-16 08:01:54 +02:00
} ,
"Schedules" : {
"shape" : "ScheduleList" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The schedule of policy-defined actions.</p>"
2019-08-03 07:08:36 +02:00
} ,
"Parameters" : {
"shape" : "Parameters" ,
"documentation" : "<p>A set of optional parameters that can be provided by the policy. </p>"
2018-08-16 08:01:54 +02:00
}
} ,
"documentation" : "<p>Specifies the configuration of a lifecycle policy.</p>"
} ,
"PolicyId" : { "type" : "string" } ,
"PolicyIdList" : {
"type" : "list" ,
"member" : { "shape" : "PolicyId" }
} ,
2019-08-03 07:08:36 +02:00
"PolicyTypeValues" : {
"type" : "string" ,
"enum" : [ "EBS_SNAPSHOT_MANAGEMENT" ]
} ,
2018-08-16 08:01:54 +02:00
"ResourceNotFoundException" : {
"type" : "structure" ,
"members" : {
"Message" : { "shape" : "ErrorMessage" } ,
"Code" : { "shape" : "ErrorCode" } ,
"ResourceType" : {
"shape" : "String" ,
"documentation" : "<p>Value is the type of resource that was not found.</p>"
} ,
"ResourceIds" : {
"shape" : "PolicyIdList" ,
"documentation" : "<p>Value is a list of resource IDs that were not found.</p>"
}
} ,
"documentation" : "<p>A requested resource was not found.</p>" ,
"error" : { "httpStatusCode" : 404 } ,
"exception" : true
} ,
"ResourceTypeValues" : {
"type" : "string" ,
2019-08-03 07:08:36 +02:00
"enum" : [
"VOLUME" ,
"INSTANCE"
]
2018-08-16 08:01:54 +02:00
} ,
"ResourceTypeValuesList" : {
"type" : "list" ,
"member" : { "shape" : "ResourceTypeValues" } ,
"max" : 1 ,
"min" : 1
} ,
"RetainRule" : {
"type" : "structure" ,
"required" : [ "Count" ] ,
"members" : {
"Count" : {
"shape" : "Count" ,
"documentation" : "<p>The number of snapshots to keep for each volume, up to a maximum of 1000.</p>"
}
} ,
"documentation" : "<p>Specifies the number of snapshots to keep for each EBS volume.</p>"
} ,
"Schedule" : {
"type" : "structure" ,
"members" : {
"Name" : {
"shape" : "ScheduleName" ,
"documentation" : "<p>The name of the schedule.</p>"
} ,
2019-08-03 07:08:36 +02:00
"CopyTags" : {
"shape" : "CopyTags" ,
"documentation" : "<p>Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.</p>"
} ,
2018-08-16 08:01:54 +02:00
"TagsToAdd" : {
"shape" : "TagsToAddList" ,
2018-10-04 08:50:52 +02:00
"documentation" : "<p>The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.</p>"
2018-08-16 08:01:54 +02:00
} ,
2019-08-03 07:08:36 +02:00
"VariableTags" : {
"shape" : "VariableTagsList" ,
"documentation" : "<p>A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: <code>$(instance-id)</code> or <code>$(timestamp)</code>. Variable tags are only valid for EBS Snapshot Management – Instance policies.</p>"
} ,
2018-08-16 08:01:54 +02:00
"CreateRule" : {
"shape" : "CreateRule" ,
"documentation" : "<p>The create rule.</p>"
} ,
"RetainRule" : {
"shape" : "RetainRule" ,
"documentation" : "<p>The retain rule.</p>"
}
} ,
"documentation" : "<p>Specifies a schedule.</p>"
} ,
"ScheduleList" : {
"type" : "list" ,
"member" : { "shape" : "Schedule" } ,
"max" : 1 ,
"min" : 1
} ,
"ScheduleName" : {
"type" : "string" ,
"max" : 500 ,
"min" : 0
} ,
"SettablePolicyStateValues" : {
"type" : "string" ,
"enum" : [
"ENABLED" ,
"DISABLED"
]
} ,
"String" : { "type" : "string" } ,
"Tag" : {
"type" : "structure" ,
"required" : [
"Key" ,
"Value"
] ,
"members" : {
"Key" : {
"shape" : "String" ,
"documentation" : "<p>The tag key.</p>"
} ,
"Value" : {
"shape" : "String" ,
"documentation" : "<p>The tag value.</p>"
}
} ,
"documentation" : "<p>Specifies a tag for a resource.</p>"
} ,
"TagFilter" : { "type" : "string" } ,
"TagsToAddFilterList" : {
"type" : "list" ,
"member" : { "shape" : "TagFilter" } ,
"max" : 50 ,
"min" : 0
} ,
"TagsToAddList" : {
"type" : "list" ,
"member" : { "shape" : "Tag" } ,
"max" : 50 ,
"min" : 0
} ,
"TargetTagList" : {
"type" : "list" ,
"member" : { "shape" : "Tag" } ,
"max" : 50 ,
"min" : 1
} ,
"TargetTagsFilterList" : {
"type" : "list" ,
"member" : { "shape" : "TagFilter" } ,
"max" : 50 ,
"min" : 1
} ,
"Time" : {
"type" : "string" ,
"pattern" : "^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$"
} ,
"TimesList" : {
"type" : "list" ,
"member" : { "shape" : "Time" } ,
"max" : 1
} ,
2019-02-27 08:30:11 +01:00
"Timestamp" : {
"type" : "timestamp" ,
"timestampFormat" : "iso8601"
} ,
2018-08-16 08:01:54 +02:00
"UpdateLifecyclePolicyRequest" : {
"type" : "structure" ,
"required" : [ "PolicyId" ] ,
"members" : {
"PolicyId" : {
"shape" : "PolicyId" ,
"documentation" : "<p>The identifier of the lifecycle policy.</p>" ,
"location" : "uri" ,
"locationName" : "policyId"
} ,
"ExecutionRoleArn" : {
"shape" : "ExecutionRoleArn" ,
"documentation" : "<p>The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.</p>"
} ,
"State" : {
"shape" : "SettablePolicyStateValues" ,
"documentation" : "<p>The desired activation state of the lifecycle policy after creation.</p>"
} ,
"Description" : {
"shape" : "PolicyDescription" ,
"documentation" : "<p>A description of the lifecycle policy.</p>"
} ,
"PolicyDetails" : {
"shape" : "PolicyDetails" ,
"documentation" : "<p>The configuration of the lifecycle policy.</p> <p>Target tags cannot be re-used across policies.</p>"
}
}
} ,
"UpdateLifecyclePolicyResponse" : {
"type" : "structure" ,
"members" : {
}
2019-08-03 07:08:36 +02:00
} ,
"VariableTagsList" : {
"type" : "list" ,
"member" : { "shape" : "Tag" } ,
"max" : 50 ,
"min" : 0
2018-08-16 08:01:54 +02:00
}
} ,
2019-02-27 08:30:11 +01:00
"documentation" : "<fullname>Amazon Data Lifecycle Manager</fullname> <p>With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.</p> <p>Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html\">Automating the Amazon EBS Snapshot Lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>"
2018-08-16 08:01:54 +02:00
}