603 lines
20 KiB
JSON
603 lines
20 KiB
JSON
{
|
||
"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":{
|
||
"CopyTags":{"type":"boolean"},
|
||
"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",
|
||
"documentation":"<p>The configuration details of the lifecycle policy.</p> <p>Target tags cannot be re-used across lifecycle policies.</p>"
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"documentation":"<p>The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.</p>"
|
||
},
|
||
"IntervalUnit":{
|
||
"shape":"IntervalUnitValues",
|
||
"documentation":"<p>The interval unit.</p>"
|
||
},
|
||
"Times":{
|
||
"shape":"TimesList",
|
||
"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>"
|
||
}
|
||
},
|
||
"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"},
|
||
"ExcludeBootVolume":{"type":"boolean"},
|
||
"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",
|
||
"documentation":"<p>The target tag for a policy.</p> <p>Tags are strings in the format <code>key=value</code>.</p>",
|
||
"location":"querystring",
|
||
"locationName":"targetTags"
|
||
},
|
||
"TagsToAdd":{
|
||
"shape":"TagsToAddFilterList",
|
||
"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>",
|
||
"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"}
|
||
},
|
||
"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>"
|
||
},
|
||
"PolicyDescription":{
|
||
"type":"string",
|
||
"max":500,
|
||
"min":0
|
||
},
|
||
"PolicyDetails":{
|
||
"type":"structure",
|
||
"members":{
|
||
"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>"
|
||
},
|
||
"ResourceTypes":{
|
||
"shape":"ResourceTypeValuesList",
|
||
"documentation":"<p>The resource type.</p>"
|
||
},
|
||
"TargetTags":{
|
||
"shape":"TargetTagList",
|
||
"documentation":"<p>The single tag that identifies targeted resources for this policy.</p>"
|
||
},
|
||
"Schedules":{
|
||
"shape":"ScheduleList",
|
||
"documentation":"<p>The schedule of policy-defined actions.</p>"
|
||
},
|
||
"Parameters":{
|
||
"shape":"Parameters",
|
||
"documentation":"<p>A set of optional parameters that can be provided by the policy. </p>"
|
||
}
|
||
},
|
||
"documentation":"<p>Specifies the configuration of a lifecycle policy.</p>"
|
||
},
|
||
"PolicyId":{"type":"string"},
|
||
"PolicyIdList":{
|
||
"type":"list",
|
||
"member":{"shape":"PolicyId"}
|
||
},
|
||
"PolicyTypeValues":{
|
||
"type":"string",
|
||
"enum":["EBS_SNAPSHOT_MANAGEMENT"]
|
||
},
|
||
"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",
|
||
"enum":[
|
||
"VOLUME",
|
||
"INSTANCE"
|
||
]
|
||
},
|
||
"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>"
|
||
},
|
||
"CopyTags":{
|
||
"shape":"CopyTags",
|
||
"documentation":"<p>Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.</p>"
|
||
},
|
||
"TagsToAdd":{
|
||
"shape":"TagsToAddList",
|
||
"documentation":"<p>The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.</p>"
|
||
},
|
||
"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>"
|
||
},
|
||
"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
|
||
},
|
||
"Timestamp":{
|
||
"type":"timestamp",
|
||
"timestampFormat":"iso8601"
|
||
},
|
||
"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":{
|
||
}
|
||
},
|
||
"VariableTagsList":{
|
||
"type":"list",
|
||
"member":{"shape":"Tag"},
|
||
"max":50,
|
||
"min":0
|
||
}
|
||
},
|
||
"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>"
|
||
}
|